在C语言中打印质数时输出错误可能是由于以下几个原因导致的:
针对以上问题,可以进行如下改进:
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("小于等于%d的质数有:", n);
for (int i = 2; i <= n; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
以上改进仅为示例,具体根据实际情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云