【PTA基础编程题目集(C语言)】7-19 支票面额

文章提供了一个C语言程序,用于解决一个数学问题:采购员收到错误的支票金额后,通过剩余余额推算原始支票面额。程序通过循环遍历可能的y和f值,根据方程98f-199y=n找出解。当无解时,输出NoSolution。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少? 

输入格式:

输入在一行中给出小于100的正整数n。

输出格式:

在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution。

输入样例1:

23

输出样例1:

25.51

输入样例2:

22

输出样例2:

No Solution

#include <stdio.h>

int main()
{
    int n, y, f;
    int times = 0;
    scanf("%d", &n);
    for (y = 0; y < 100; y++) //假设y最大为100
    {
        if (times == 0)
        {
            for (f = 0; f < 99; f++) //显然f不超过99
            {
                if (98 * f - 199 * y == n)
                {
                    times++;
                    break;
                }
            }
        }
        else
        {
            y--; //初次判断时显然times==0,之后判断时y已经被加1
            break;
        }
    }
    if (times == 0)
        printf("No Solution");
    else
        printf("%d.%d", y, f);
    return 0;
}

 注意事项:

由题可得方程100f+y=n+(200y+2f),化简得98f-199y=n,解方程即可。

如有问题,欢迎提出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花辞树dor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值