C语言现有若干行正整数,请你写一段程序分别统计每一行中有多少个质数。
时间: 2024-12-06 12:26:15 浏览: 10
在C语言中,为了实现这个功能,你需要编写一个函数来判断一个数字是否为质数,然后遍历每一行的数字并计数质数。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h> // 使用bool类型
// 判断一个数是否为质数的辅助函数
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 count_primes_per_line(int lines[], int line_size) {
for (int i = 0; i < line_size; i++) {
int count = 0;
for (int j = 0; j < lines[i]; j++) {
if (is_prime(j + 1)) count++;
}
printf("第%d行有%d个质数。\n", i + 1, count);
}
}
int main() {
int rows, cols;
printf("请输入行数和每行的正整数数量:");
scanf("%d %d", &rows, &cols);
// 假设我们有一个二维数组存储了所有行的数字
int numbers[rows][cols];
// 这里省略读取输入数字的部分,实际应用中需要加上这部分代码
count_primes_per_line(numbers[0], cols); // 示例只处理第一行
return 0;
}
```
在这个例子中,`count_primes_per_line`函数接收一个二维数组的行作为参数,并对每个元素逐一检查是否为质数。注意实际程序需要完整地读取用户输入的数字。
阅读全文