匿名用户

1级

2015-05-24 回答

我只能告诉你double 的20.6=20.600...001所以exchange=3.999...,而你的num又是int型的,当i=6时,最后除出来的结果是num[]={0,0,0,0,0,0,3}所以都不会提示你有没有一角零钱。所以你要解决的问题就是int 和double相除时造成的数据不准确,我的办法很土,就是在计算exchange的时候加上一个很小的数,帮你改成了下面的样子,你再试试

#include"stdio.h"

main()

{

double a[] = { 50,20,10,5,1,0.5,0.1 };

int num[7];

int i, pd;

double price, paid, exchange, rest;

printf("请输入商品总价:");

scanf("%lf", &price);

printf("请输入支付金额:");

scanf("%lf", &paid);

exchange = paid - price+1e-6;

rest = exchange;

for (i = 0;i<7;i++)

{

num[i] = rest / (a[i]);

rest -= num[i] * (a[i]);

}

if ((num[6]>3) && (num[6]<5))

{

printf("请问您有没有多余的0.1元?(1表示有,0表示没有)");

scanf("%d", &pd);

if (pd == 1)

{

exchange += 0.1;

rest = exchange;

for (i = 0;i<7;i++)

{

num[i] = rest / a[i];

rest -= num[i] * a[i];

}

}

}

if ((num[4]>3) && (num[4]<5))

{

printf("请问您有没有多余的1元?(1表示有,0表示没有)");

scanf("%d", &pd);

if (pd == 1)

{

exchange += 1;

rest = exchange;

for (i = 0;i<7;i++)

{

num[i] = rest / a[i];

rest -= num[i] * a[i];

}

}

}

printf("找零=");

for (i = 0;i<7;i++)

{

if (num[i] == 0)continue;

printf("%.1lf*%d(张)", a[i], num[i]);

}

}

c语言编写一个找零程序,C语言找零程序求修改相关推荐

  1. 利用c语言编写一个时钟计时器(c语言基础练习)

    时间对于每个人都是宝贵的.人类从古至今都在发展计时设备和改善计时方法.远古时期,人类根据太阳和月亮的位置来判断时间.根据影子的方向长短来区分早晨.中午和黄昏.古代人也发明了很多计时的方法,日晷.沙漏. ...

  2. c语言编写一个四舍五入的函数,C语言题指教关于四舍五入的问题请编写一个函 – 手机爱问...

    2017-10-18 C语言中math.h定义了哪些函数 //1.三角函数 double sin(double); //1.1.正弦 double cos(double); //1.2.余弦 doub ...

  3. c语言编写一个函数判断闰年,C语言:实现一个函数判断year是不是闰年

    #include /*判断是否是闰年:四年一闰,百年不闰,四百年再闰,单独的四百年一闰也是闰年的条件*/ int leap(year) { int ret=0;; if(((year%4==0)&am ...

  4. 等腰字母三角形c语言,c语言等腰三角形代码 用C语言编写一个四行*等腰三角形...

    键盘读入3个整数,代表三角形三条边,判断是否是等腰三角形?输入输出示#include int main() { int a,b,c; while(scanf("%d%d%d",&a ...

  5. python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...

    导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...

  6. 用C语言编写一个Linux下的简单shell程序

    这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...

  7. C语言编写一个四位数的和,c语言编写一段程序,输入一个四位数,输出各位数字的和...

    用C语言编写程序,输入一个正整数n(1 #include"stdio.h"intmain(){\x09inti,j,n;\x09inta[12];\x09intmin,mx;\x0 ...

  8. C语言编程编制职工档案管理程序,C语言 编写一个职工档案程序.doc

    C语言 编写一个职工档案程序 一.实验项目: 实验6 课程设计 (时间安排:6课时) 二.实验内容: 编写一个职工档案程序,设计实现如下功能: 建立一个职工数据结构,结构包含姓名.序号.性别和年龄信息 ...

  9. c语言计算二次函数顶点坐标,C语言编写一个求一元二次方程的实根的程序。 编辑一个小程序去做一元二次方程的求解(b^24ac)...

    导航:网站首页 > C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二次方程的求解(b^2>4ac) C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二 ...

  10. 编写程序C语言 用递归法求n,用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*n...

    用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*n以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧 ...

最新文章

  1. 64位 ubuntu android studio gradle 权限不够 缺少文件和权限导致
  2. lstm PTB语言数据集的处理
  3. [洛谷1390]公约数的和
  4. 大数据时代数据库-云HBase架构生态实践
  5. java 将要死亡_人在即将死亡的时候,能意识到自己将要死亡了吗?科学家给出答案...
  6. nyoj234 吃土豆 01背包
  7. Java 动态代理机制讲解(Proxy.newProxyInstance)
  8. 给定一个射击比赛成绩
  9. MySQL数据库的基础操作
  10. Faster RER-CNN 论文笔记
  11. zillow房价预测比赛_如何看待 Kaggle 发布的 Zillow 房价预测比赛?
  12. 如何提取伴奏?1分钟让你知道伴奏提取软件手机版有哪些
  13. MATLAB--微分方程
  14. 软件“生命”系统进化论——软件以负熵为生
  15. 打印可自定义的字母金字塔(python实现)
  16. 【无关技术·朋友圈朝花朝拾】月相
  17. 五种常见的嵌入式操作系统
  18. 应用程序正常初始化(0xc0150002)失败的终极解决方案
  19. RK WiFi驱动层初始化分析
  20. c语言中文件的只读属性,C/C++ 文件属性设置(隐藏、只读、加密等)(示例代码)

热门文章

  1. matlab 矩阵满秩分解
  2. 腾讯网易涉嫌抄袭旅行青蛙,却抄丢了游戏的核心吸引力
  3. 西游记笔记与想法(5)
  4. CrystalQuartz实现Quartz的window服务的远程管理
  5. 高性能`锁库存`/`释放库存`重构实战
  6. 请问dede怎么样把会员信息调用到首页,调用会员头像和名字
  7. 函数对称性常见公式_函数的对称性的常用结论
  8. 【详细服务器配julia】
  9. python怎么画圆螺旋线_Python turtle 绘制彩色螺旋线
  10. 初探springboot的荆棘之路