c语言求余数的问题
intmain(){inta=40,b=9;printf("shang=%.2f\nyu=%d\n",a/b,a%b);return0;}为什么执行出来结果是shang=...
int main()
{
int a=40,b=9;
printf("shang=%.2f\nyu=%d\n",a/b,a%b);
return 0;
}
为什么执行出来结果是shang=0.00,yu=134513657
要说商是错的正常,没有类型转换,但是余数不该错的呀,奇怪...
答一楼,没有报错。答二楼,我知道要类型转换,但是余数本就该是整型的呀,而且输出是yu=%d,没错吧?但是执行结果不对,今天我做其他题目的时候也遇上这种问题了。请高手解答下,谢过先了! 展开
{
int a=40,b=9;
printf("shang=%.2f\nyu=%d\n",a/b,a%b);
return 0;
}
为什么执行出来结果是shang=0.00,yu=134513657
要说商是错的正常,没有类型转换,但是余数不该错的呀,奇怪...
答一楼,没有报错。答二楼,我知道要类型转换,但是余数本就该是整型的呀,而且输出是yu=%d,没错吧?但是执行结果不对,今天我做其他题目的时候也遇上这种问题了。请高手解答下,谢过先了! 展开
展开全部
楼主
你的a,b 都定义成整型int了,所以a/b的值是整型的,你的Printf语句用%.2f就不对了,解决方法如楼上的,或者如下
printf("shang=%.2f\nyu=%d\n",(float)a/b,a%b);
你的a,b 都定义成整型int了,所以a/b的值是整型的,你的Printf语句用%.2f就不对了,解决方法如楼上的,或者如下
printf("shang=%.2f\nyu=%d\n",(float)a/b,a%b);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
int a=40,b=9;
double quotient = a/b;
int remainder = a%b;
printf("shang=%.2f\nyu=%d\n",quotient,remainder);
return 0;
}
int main()
{
int a=40,b=9;
double quotient = a/b;
int remainder = a%b;
printf("shang=%.2f\nyu=%d\n",quotient,remainder);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把"shang=%.2f"中"%.2f"改为"%d"就能运行成功,我亲自测试过。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把那个a/b改成a*1.0/b就好了 要不然无法输出的,vc6会报运行时错误,连结果都看不到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言里对于有一些符号是不能直接输出的,因为被C语言占用了。所以有一些符号是需要特殊的方式才能输出的。比如你说的%号,%号在C语言里是求余数的符号,如果需要输出%的话,你需要连续写2个%才能输出。如:printf("x%%y=%f\n",e);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询