要在C语言中找出100到200之间的所有素数,并按要求格式输出,可以编写如下代码:
#include <stdio.h>
#include <math.h>
int main() {
int i, j, isPrime;
for(i = 101; i <= 200; i += 2) { // 从101开始,跳过偶数
isPrime = 1; // 假设i是素数
for(j = 3; j <= sqrt(i); j += 2) { // 只需检查奇数因数
if(i % j == 0) {
isPrime = 0; // 如果找到因数,则i不是素数
break;
}
}
if(isPrime) {
// 打印素数,使用%5d格式化以确保每个数占5个字符宽度
printf("%5d", i);
// 每打印10个数换行
if((i - 101) / 2 % 10 == 0) {
printf("\n");
}
}
}
printf("\n"); // 最后一个素数打印后换行
return 0;
}
这段代码首先检查一个数是否为素数。它从101开始,每次增加2来跳过偶数,因为除了2之外,所有偶数都不是素数。对于每个奇数,程序使用一个内层循环来检查是否有任何奇数因子,如果找到则该数不是素数。如果是素数,就按要求的格式打印出来。每打印10个素数后换行。