循环运行不止一次

时间:2018-10-14 11:53:54

标签: c

输出应显示以下语句:“案例#(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:我将成为一个好孩子。”为什么从第二个开始打印不超过一次?

1 个答案:

答案 0 :(得分:0)

只需将while (caseCount=caseCheck);更改为while (caseCount==caseCheck); 代码的问题是您没有检查条件。您只是在将值重新分配给变量。