首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >计算变化的C程序

计算变化的C程序
EN

Stack Overflow用户
提问于 2016-11-06 08:21:43
回答 1查看 4.2K关注 0票数 -1

我正在试着写一个程序来计算变化,但它似乎不起作用。我认为问题出在欠1/付1;当我尝试打印这些值时,我什么也得不到(0)。有什么帮助吗?

代码语言:javascript
复制
#include <stdio.h>

int main()
{
double owed, paid;
int  dollars, quarters, dimes, nickels, cents, remainder, owed1, paid1;
printf("how much did the customer have to pay ?\n");
scanf("%f",&owed); 
printf("how much did the customer pay ?\n");
scanf("%f",&paid); 
owed1 = owed * 100;  
paid1 = paid * 100;
int change = paid1 - owed1;
dollars =  change / 100;
remainder = change % 100;
quarters = remainder / 25;
remainder = remainder % 25;
dimes = remainder / 10;
remainder = remainder % 10;
nickels = remainder / 5;
remainder = remainder % 5;
cents = remainder;
printf("%d",dollars);
printf("Dollars:%d, Quarters:%d, Dimes:%d, Nickels:%d, Cents:%d", dollars , quarters , dimes , nickels , cents );
return 0;
}
EN

回答 1

Stack Overflow用户

发布于 2016-11-06 08:27:07

您在scanf中使用了%f,这是一个浮点数的格式说明符,但是您的变量是双精度的。您应该改用%lf

代码语言:javascript
复制
scanf("%lf",&owed); 

paid也是如此。你应该从你的编译器那里得到关于这个的警告。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40444747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档