100~200之间前m(m>0)个素数(不足m个则有多少输出多少),并从小到大输出,每个数之间用1个空格隔开。c语言
时间: 2024-11-06 13:23:35 浏览: 57
在C语言中,你可以使用循环和条件判断来找出给定范围内的素数,并存储在一个数组中。下面是一个简单的示例程序,它会找出100到200之间的前m个素数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
void find_primes_in_range(int start, int end, int m, int* primes) {
int count = 0;
for (int num = start; num <= end && count < m; num++) {
if (is_prime(num)) {
primes[count++] = num;
}
}
}
int main() {
int m;
printf("请输入你要找的素数的数量(大于0): ");
scanf("%d", &m);
if (m > 0) {
int primes[m];
int range_start = 100;
int range_end = 200;
find_primes_in_range(range_start, range_end, m, primes);
if (count >= m) {
printf("100到200范围内有%d个素数:\n", count);
for (int i = 0; i < count; i++) {
printf("%d ", primes[i]);
}
printf("\n");
} else {
printf("100到200范围内只有%d个素数。\n", count);
}
} else {
printf("输入的数值必须大于0。\n");
}
return 0;
}
```
这个程序首先检查`m`是否大于0,然后找出指定范围内的素数,并将它们存入`primes`数组。如果找到的素数数量少于`m`,它会输出实际找到的数量。
阅读全文