c语言编写一个找零程序,C语言找零程序求修改
匿名用户
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语言找零程序求修改相关推荐
- 利用c语言编写一个时钟计时器(c语言基础练习)
时间对于每个人都是宝贵的.人类从古至今都在发展计时设备和改善计时方法.远古时期,人类根据太阳和月亮的位置来判断时间.根据影子的方向长短来区分早晨.中午和黄昏.古代人也发明了很多计时的方法,日晷.沙漏. ...
- c语言编写一个四舍五入的函数,C语言题指教关于四舍五入的问题请编写一个函 – 手机爱问...
2017-10-18 C语言中math.h定义了哪些函数 //1.三角函数 double sin(double); //1.1.正弦 double cos(double); //1.2.余弦 doub ...
- c语言编写一个函数判断闰年,C语言:实现一个函数判断year是不是闰年
#include /*判断是否是闰年:四年一闰,百年不闰,四百年再闰,单独的四百年一闰也是闰年的条件*/ int leap(year) { int ret=0;; if(((year%4==0)&am ...
- 等腰字母三角形c语言,c语言等腰三角形代码 用C语言编写一个四行*等腰三角形...
键盘读入3个整数,代表三角形三条边,判断是否是等腰三角形?输入输出示#include int main() { int a,b,c; while(scanf("%d%d%d",&a ...
- python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...
导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...
- 用C语言编写一个Linux下的简单shell程序
这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...
- C语言编写一个四位数的和,c语言编写一段程序,输入一个四位数,输出各位数字的和...
用C语言编写程序,输入一个正整数n(1 #include"stdio.h"intmain(){\x09inti,j,n;\x09inta[12];\x09intmin,mx;\x0 ...
- C语言编程编制职工档案管理程序,C语言 编写一个职工档案程序.doc
C语言 编写一个职工档案程序 一.实验项目: 实验6 课程设计 (时间安排:6课时) 二.实验内容: 编写一个职工档案程序,设计实现如下功能: 建立一个职工数据结构,结构包含姓名.序号.性别和年龄信息 ...
- c语言计算二次函数顶点坐标,C语言编写一个求一元二次方程的实根的程序。 编辑一个小程序去做一元二次方程的求解(b^24ac)...
导航:网站首页 > C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二次方程的求解(b^2>4ac) C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二 ...
- 编写程序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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧 ...
最新文章
- 64位 ubuntu android studio gradle 权限不够 缺少文件和权限导致
- lstm PTB语言数据集的处理
- [洛谷1390]公约数的和
- 大数据时代数据库-云HBase架构生态实践
- java 将要死亡_人在即将死亡的时候,能意识到自己将要死亡了吗?科学家给出答案...
- nyoj234 吃土豆 01背包
- Java 动态代理机制讲解(Proxy.newProxyInstance)
- 给定一个射击比赛成绩
- MySQL数据库的基础操作
- Faster RER-CNN 论文笔记
- zillow房价预测比赛_如何看待 Kaggle 发布的 Zillow 房价预测比赛?
- 如何提取伴奏?1分钟让你知道伴奏提取软件手机版有哪些
- MATLAB--微分方程
- 软件“生命”系统进化论——软件以负熵为生
- 打印可自定义的字母金字塔(python实现)
- 【无关技术·朋友圈朝花朝拾】月相
- 五种常见的嵌入式操作系统
- 应用程序正常初始化(0xc0150002)失败的终极解决方案
- RK WiFi驱动层初始化分析
- c语言中文件的只读属性,C/C++ 文件属性设置(隐藏、只读、加密等)(示例代码)