c语言程序改错题

#include <stdio.h>int is( int number );int main(void){ int count, i, sum;

count = 0; sum = 0; for ( i = 100; i <= 999; i++) if ( is ( i ) == 100 ) { count++; sum = sum + i; } printf("count = %d, sum = %d\n", count,sum);

return 0;}int is( int number ){ int a, b, c, result, sum; a = number / 100; b = ( number /10 ) % 10; c = number % 10; sum = a + b + c; if (sum == 5 ) result = 1; else result = 0;

return 0;}

这个程序能运行但是结果错了 ,是不是还有哪里错了啊

第1个回答  2015-10-13
is 函数的计算结果只有1和0两种情况,
当三位数各位数字之和等于5时,返回值是1,否则返回值是0
main函数的功能是把三位数中各位数字之和等于5的数字统计个数并求和
#include <stdio.h>
int is( int number );
int main(void)
{
int count, i, sum;

count = 0;
sum = 0;
for ( i = 100; i <= 999; i++)
if ( is ( i ) == 1 ) { //改后
count++;
sum = sum + i;
}
printf("count = %d, sum = %d\n", count,sum);

return 0;
}
int is( int number )
{
int a, b, c, result, sum;
a = number / 100;
b = ( number /10 ) % 10;
c = number % 10;
sum = a + b + c;
if (sum == 5 )
result = 1;
else
result = 0;

return result; // 改后
}本回答被提问者采纳
第2个回答  2015-10-13
is函数的返回值。。追问

我才是刚刚入门的 , 能不能具体说一下错在哪里额? , 谢谢~

第3个回答  2015-10-13
is 这个函数的返回值啥时候会是100 呢?追问

能具体说一下吗?

追答

你的这个函数的返回值永远不是100啊

相似回答