修改程序:#include<stdio.h> #include<math.h> int hq(int n) { int i; scanf("%d",&n); for(i=2;i<=sqrt(n);i++) { if(n%i==0) return 0; } return 1; } int main() { int NN,n=0,i; printf("请输入一个数NN:"); scanf("%d",&NN); for(i=100;i<=NN;i++) { if(hq(i)) n++; printf("%d ",i); } printf("\n素数的个数为:%d",n); }
时间: 2023-12-01 20:03:25 浏览: 66
SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h
修改后的程序如下:
```c
#include<stdio.h>
#include<math.h>
int is_prime(int n) {
int i;
for(i = 2; i <= sqrt(n); i++) {
if(n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, count = 0;
printf("请输入一个数n:");
scanf("%d", &n);
for(int i = 2; i <= n; i++) {
if(is_prime(i)) {
printf("%d ", i);
count++;
}
}
printf("\n素数的个数为:%d\n", count);
return 0;
}
```
改动说明:
1. 将函数名 hq 改为 is_prime,并将其参数改为 n,使函数名和参数更符合语义;
2. 在 main 函数中,将计数变量 n 改为 count,并进行初始化;
3. 在 main 函数中,将输入数值的提示信息改为 "请输入一个数n:";
4. 在 for 循环中,将循环变量 i 的起始值改为 2(因为 1 不是质数),将终止值改为 n;
5. 在 for 循环中,将素数的输出和计数放在一起,方便代码阅读;
6. 在最后输出素数的个数时,添加换行符。
阅读全文