我无法弄清楚这个问题:
#include<stdio.h>
int main()
{
int a,b,count ;
count =0;
printf("enter the value for a ");
scanf("%d ",&a);
while(a>0)
{
b=a%10;
count=b+count;
a=a/10;
printf ("hence the simplified result is %d",count);
}
return 0;
}
答案 0 :(得分:4)
答案 1 :(得分:3)
您不会使用“\ n”终止printf()
。输出流(stdout)通常是行缓冲的。这意味着除非您使用fflush()
强制它们,否则无需打印不完整的行。但是没有必要这样做。
只需在printf()
printf("hence the simplified result is %d\n", count);
答案 2 :(得分:2)
一个问题是你在每个循环中打印计数,而不是在循环之后打印计数。
不是问题,但C具有更易读的算术赋值(又名compound assignment)运算符。例如,a /= 10
相当于a = a/10
。
答案 3 :(得分:1)
我认为printf语句应该在循环之外。
答案 4 :(得分:0)
将printf移出循环。这将解决它。
答案 5 :(得分:0)
尝试以下方法:
#include<stdio.h>
int main()
{
int a,b,count ;
count =0;
printf("enter the value for a ");
scanf("%d",&a);
while(a>0)
{
b=a%10;
count=b+count;
a=a/10;
}
printf ("hence the simplified result is %d",count);
return 0;
}