输出应显示以下语句:“案例#(N):我将成为一个好男孩。取决于用户输入的特定次数。它应该只打印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:我将成为一个好孩子。”为什么从第二个开始打印不超过一次?
答案 0 :(得分:0)
只需将while (caseCount=caseCheck);
更改为while (caseCount==caseCheck);
代码的问题是您没有检查条件。您只是在将值重新分配给变量。