5-19 支票面额 (15分)

来源:互联网 发布:淘宝一元规则 编辑:程序博客网 时间:2024/05/03 06:48
一个采购员去银行兑换一张yy元ff分的支票,结果出纳员错给了ff元yy分。采购员用去了nn分之后才发觉有错,于是清点了余额尚有2y2y元2f2f分,问该支票面额是多少?
输入格式:

输入在一行中给出小于100的正整数nn。
输出格式:

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

23
输出样例1:

25.51
输入样例2:

22
输出样例2:

No Solution


注明:我自己是在暑假和寒假做的题目,有不懂的,我会选择上网百度或者看书等参考大神的解题思路,时间太久,不记得是自己写的还是来自网上的思路了,未能注明出处,还希望不要介意,但是发表出来的,应该是本人所写,也有做的不好的地方,但请批评改正。


<span style="font-size:18px;">//by Q_oneQ#include<stdio.h>int main(){unsigned int n, f, y;int sum1 = 0, sum2 = 0;int sum, flag;int count1=0, count2=0;f = 0; y = 0;flag = 0;scanf("%d", &n);//利用双重循环查找是否存在符合要求的数值for (int y = 0; y <= 65530; y++){for (int f = 0; f <100; f++){sum1 = f * 100 + y;         /*由题意可得的数学公式*/sum2 = 2 * y * 100 + 2 * f;sum = sum1 - sum2;if (sum == n){count1 = y;count2 = f;flag = 1;//如果找到合适的值,则让flag为1,方便下面的输出操作}}}if (flag)//之前有好几次错误的原因是在输出的控制上printf("%d.%d", count1, count2);elseprintf("No Solution");return 0;}</span>









0 0
原创粉丝点击