#include <stdio.h> int main() { int i = 0,j = 0,flag = 0,num = 0; for(i=100;i<=200;i++) { flag = 1; for(j=2;j<i;j++) { if(i%j == 0) { flag = 0; break; } } if(flag) { num++; if(num%5==0) { printf("%d ",i); } else { printf("\n"); } } } printf("\n"); return 0; }指出错误
时间: 2023-11-22 21:52:52 浏览: 96
#include <stdio.h>
这段代码的功能是输出 100-200 之间的所有素数,但是存在一个错误:在每行输出 5 个素数后应该换行,而不是没有空格就换行。因此需要修改代码中的 else 分支,将 printf("\n") 修改为 printf(" ")。
修改后的代码如下:
```c
#include <stdio.h>
int main() {
int i = 0, j = 0, flag = 0, num = 0;
for(i = 100; i <= 200; i++) {
flag = 1;
for(j = 2; j < i; j++) {
if(i % j == 0) {
flag = 0;
break;
}
}
if(flag) {
num++;
if(num % 5 == 0) {
printf("%d\n", i);
} else {
printf("%d ", i);
}
}
}
printf("\n");
return 0;
}
```
阅读全文