输出应打印语句“案例 #(N):我将成为一个好 child 。”取决于用户输入的一定次数。它应该只打印 N 的素数。这是最新的尝试。
#include<stdio.h>
int main(){
int primeNum;
int primeCount;
int primeCheck;
int caseCount=1;
int caseCheck;
scanf("%d", &caseCheck);//gets number of cases
do {
scanf("%d", &primeNum);
primeCheck = 0;
if (primeNum<=1)
{
caseCount++;
}
for (primeCount=2 ; primeCount<=primeNum/2 ; primeCount++)//checks if number is prime
{
if ((primeNum%primeCount) == 0)//checks if number is not prime
{
primeCheck=1;
}
}
if (primeCheck==0)
printf("Case #%d: I will become a good boy.\n", caseCount);//prints if number is prime
} while (caseCount=caseCheck);//while case counter does not exceed number of cases
return(0);}`
当输出为 2 [enter] 4 [enter] 2 时,这段代码的结果是“案例#2:我会成为一个好 child ”。为什么它不打印多次并从数字 2 开始?
最佳答案
只需将 while (caseCount=caseCheck);
更改为 while (caseCount==caseCheck);
您的代码的问题是您没有检查条件。您只是将值重新分配给变量。
关于c - 循环不会运行多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52802357/