计算五位数之和的程序
尽管我认为该程序实际上是正确的,但该程序在编译器中显示错误
#include<stdio.h>
int main()
{
int i,a,num=32765,n;
int sum=0;
a=num%10;
n=num/10;
sum=sum+a;
for(i=0;i>4;i++)
{
a=n%10;
n=n/10;
sum=sum+a;
}
printf("the sum of five digits is %d", sum);
}
最佳答案
代码中的循环永远不会进入,因为i=0
,然后检查i>=3
是否为真。
你可以使用这样的东西:
int digit_sum(int num){
int sum=0;
while (num !=0){
sum += num%10;
num = num/10;
}
return sum;
}
int main()
{
int num = 12346;
/*
if (num <0) // add this block if negative number is posible
num = -num; // and its ok to change num or use some temp instead
*/
int sum = digit_sum(num);
printf("the sum of five digits is %d",sum);
return 0;
}
或者使用递归:
int digit_sum(int num){
if (num)
return num%10 + digit_sum(num/10);
}
关于c - 这个程序计算 5 位数字的总和是否正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48007046/