我用scanf向用户请求两次整数值。
在代码和算法我创作的作品如预期除了当用户将0和/或1
输入值I希望计算机能够接受零值,并导致总共为零,当接受1时,总数为1但是0给我奇怪的崩溃,1给我一个很大的价值。
/*multiples of 3 or 5: 3,5,6,9; sum is 23*/
#include
int main()
{
int value,value2,limit = 1000;
int i,divi,sum = 0;
/*read user input for the first value*/
scanf("%d",&value);
/*get sum of all multiples of value*/
for(i = value;i < limit;){
sum = sum + i;
i = i + value;
}
printf("%d\n",sum);
printf("done for %d\n",value);
/*read user input for the second value*/
scanf("%d",&value2);
/*get sum of all multiples of value2*/
for(i = value2;i < limit;){
divi = i%value;
if((divi)==0){
i = i + value2;
}
else
{
sum = sum + i;
i = i + value2;
}
}
printf("%d\n",sum);
printf("done for %d\n",value2);
return 0;
}
2014-03-25
xeperia1
+2
适用于我的除0之外的所有值,这将导致无限循环;我从未增加。 –