C语言:7-19 支票面额.2021-07-30

7-19 支票面额 (15 分)

一个采购员去银行兑换一张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,count=0;
    scanf("%d",&n);
    
    //结果出纳员错给了f元y分
    //采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分
    //100分=1元
    
    //所以:
    //f*100+y=n+2*100*y+2*f
    //2*f小于100,y小于100
    //y为整数,f为整数
    //for(y=0;100>y;y++) for(f=0;100>f;f++) if(f*100+y==n+2*100*y+2*f)
    for(y=0;100>y;y++) for(f=0;100>f*2;f++) if(f*100+y==n+2*100*y+2*f)
    {
        count++;//符合条件的次数 
        printf("%d.%d",y,f);
    }
    if(0==count) puts("No Solution");

}

题干中的"余额尚有2y元2f分"可能是"余额尚有2y元f分",否则无法通过检测

 注意第一个案例给的输出f的值为51,显然这不合理,按照题干中原文的说法"余额尚有2y元2f分",2f就成了102分了,没有进位!!!!

迷惑中.....................................

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mklpo147

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

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

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

打赏作者

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

抵扣说明:

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

余额充值