这是我的素数和码。输入是无限制的,但必须以0结束。例如,输入11、4、9、17应该输出素数之和,在本例中是28。我的代码只打印11。循环一旦达到2的任何导数就停止了,我找不到这个简单问题的解决方案。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char*argv[]) {
int n, i, flag;
int sumOfPrimeNumbers;
sumOfPrimeNumbers = 0;
flag = 0;
do {
for(i=2;i < n;i++)
{
scanf("%d", &n);
if(n%i==0) {
flag=1;
}
}
if(flag==0) {
sumOfPrimeNumbers = sumOfPrimeNumbers + n;
break;
}
} while (n != 0);
printf("%d\n", sumOfPrimeNumbers);
return 0;
}发布于 2020-09-17 01:43:56
两位评论员都是对的。在接受来自用户的值并将其存储在'n‘变量中之前,您正在使用'n’变量。
https://stackoverflow.com/questions/63925269
复制相似问题