#include<stdio.h>
int main(void){
//User input an integer
//program only add prime number together
//output the sum of all prime number user inputted
//if no prime, output 0
//input -1 for exit
int sum, enterNumber, number;
number = 2;
sum = 0;
printf("Enter digit dayu 0(enter -1 end the program): ");
scanf("%d", &enterNumber);
if(enterNumber == -1){
return 0;
}
while(enterNumber != -1){
scanf("%d", &enterNumber);
if(enterNumber == -1){
break;
}
if(enterNumber < number){
printf("The sum is 0\n");
} else {
while(enterNumber >= number){
if(enterNumber % number == 0){
break;
} else {
number = number + 1;
}
}
if(number == enterNumber){
sum = sum + enterNumber;
} else {
printf("The sum is 0\n");
}
}
}
printf("The sum is %d\n", sum);
return 0;
}
修改如下,供参考:
#include<stdio.h>
int main(void){
//User input an integer
//program only add prime number together
//output the sum of all prime number user inputted
//if no prime, output 0
//input -1 for exit
int sum, enterNumber, number ,k;
//number = 2;
//sum = 0;
printf("Enter digit dayu 0(enter -1 end the program): ");
//scanf("%d", &enterNumber);
//if(enterNumber == -1){
// return 0;
//}
while (1){ //(enterNumber != -1)
scanf("%d", &enterNumber);
if(enterNumber == -1){
break;
}
for (number = 2 ,sum = 0;enterNumber >= number; number++) //if(enterNumber < number)
{
//printf("The sum is 0\n");
//}
k = 2; //else {
while(number > k){
if(number % k == 0){
break;
}
k++; //else {
//number = number + 1;
//}
}
if(number == k){
sum = sum + number;
}
//else {
// printf("The sum is 0\n");
//}
}
printf("The sum is %d\n", sum);
}
return 0;
}