请用C语言程序写如下程序,输入两个正整数m和n(m>1,n<=200)输出m和n之间的所有素数。
时间: 2024-04-29 15:25:00 浏览: 170
以下是用C语言编写的程序,可以输出m和n之间的所有素数:
```c
#include <stdio.h>
int main() {
int m, n, i, j, is_prime;
printf("请输入两个正整数m和n(m>1,n<=200):");
scanf("%d%d", &m, &n);
if (m <= 1) {
m = 2;
}
printf("%d和%d之间的素数有:\n", m, n);
for (i = m; i <= n; i++) {
is_prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
}
}
return 0;
}
```
当你输入m和n之后,程序会遍历m和n之间的所有数,对于每个数,程序会判断它是否是素数(只能被1和本身整除的正整数)。如果是素数,就输出该数。
相关问题
c语言编写一个程序,输入两个正整数m和n(2<=m<=5,2<=n<=5),为m*n的矩阵a输入各元素值,然后输出该矩阵并求出该矩阵所有元素的平均值,用自定义函数法
以下是用自定义函数法编写的程序:
```c
#include <stdio.h>
// 自定义函数,用于输入矩阵元素值
void inputMatrix(int matrix[][5], int m, int n) {
int i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("请输入矩阵第 %d 行第 %d 列的元素值:", i+1, j+1);
scanf("%d", &matrix[i][j]);
}
}
}
// 自定义函数,用于输出矩阵及平均值
void outputMatrix(int matrix[][5], int m, int n) {
int i, j, sum = 0;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
sum += matrix[i][j];
}
printf("\n");
}
printf("矩阵元素平均值为:%.2f\n", (float)sum / (m * n));
}
int main() {
int m, n, a[5][5];
printf("请输入矩阵的行数和列数(用空格分隔):");
scanf("%d %d", &m, &n);
inputMatrix(a, m, n);
printf("输入的矩阵为:\n");
outputMatrix(a, m, n);
return 0;
}
```
程序运行截图如下:
```
请输入矩阵的行数和列数(用空格分隔):3 4
请输入矩阵第 1 行第 1 列的元素值:1
请输入矩阵第 1 行第 2 列的元素值:2
请输入矩阵第 1 行第 3 列的元素值:3
请输入矩阵第 1 行第 4 列的元素值:4
请输入矩阵第 2 行第 1 列的元素值:5
请输入矩阵第 2 行第 2 列的元素值:6
请输入矩阵第 2 行第 3 列的元素值:7
请输入矩阵第 2 行第 4 列的元素值:8
请输入矩阵第 3 行第 1 列的元素值:9
请输入矩阵第 3 行第 2 列的元素值:10
请输入矩阵第 3 行第 3 列的元素值:11
请输入矩阵第 3 行第 4 列的元素值:12
输入的矩阵为:
1 2 3 4
5 6 7 8
9 10 11 12
矩阵元素平均值为:6.50
```
c语言1.找出不是两个数组共有的元素:输入一个正整数n(1<n<=10),再输入n个整数,存入第一个数组中,然后输入一个正整数m(1<m<=10),再输入m个整数,存入第二个数组中,找出所有不是这两个数组共有的元素。试编写相应的程序。
以下是一个用C语言编写的程序,用于找出两个数组中不共有的元素:
```c
#include <stdio.h>
#define MAX_SIZE 10
void findUniqueElements(int arr1[], int n, int arr2[], int m) {
int unique1[MAX_SIZE], unique2[MAX_SIZE];
int count1 = 0, count2 = 0;
// 找出第一个数组中不共有的元素
for (int i = 0; i < n; i++) {
int found = 0;
for (int j = 0; j < m; j++) {
if (arr1[i] == arr2[j]) {
found = 1;
break;
}
}
if (!found) {
unique1[count1++] = arr1[i];
}
}
// 找出第二个数组中不共有的元素
for (int i = 0; i < m; i++) {
int found = 0;
for (int j = 0; j < n; j++) {
if (arr2[i] == arr1[j]) {
found = 1;
break;
}
}
if (!found) {
unique2[count2++] = arr2[i];
}
}
// 输出结果
printf("第一个数组中不共有的元素: ");
for (int i = 0; i < count1; i++) {
printf("%d ", unique1[i]);
}
printf("\n第二个数组中不共有的元素: ");
for (int i = 0; i < count2; i++) {
printf("%d ", unique2[i]);
}
printf("\n");
}
int main() {
int n, m;
printf("请输入第一个数组的元素个数(1 < n <= 10): ");
scanf("%d", &n);
if (n <= 1 || n > MAX_SIZE) {
printf("元素个数不合法\n");
return 1;
}
int arr1[MAX_SIZE];
printf("请输入第一个数组的元素: ");
for (int i = 0; i < n; i++) {
scanf("%d", &arr1[i]);
}
printf("请输入第二个数组的元素个数(1 < m <= 10): ");
scanf("%d", &m);
if (m <= 1 || m > MAX_SIZE) {
printf("元素个数不合法\n");
return 1;
}
int arr2[MAX_SIZE];
printf("请输入第二个数组的元素: ");
for (int i = 0; i < m; i++) {
scanf("%d", &arr2[i]);
}
findUniqueElements(arr1, n, arr2, m);
return 0;
}
```
这个程序首先定义了最大数组大小为10,然后通过`findUniqueElements`函数找出两个数组中不共有的元素。具体步骤如下:
1. 输入第一个数组的元素个数和元素。
2. 输入第二个数组的元素个数和元素。
3. 找出第一个数组中不共有的元素,并存储在`unique1`数组中。
4. 找出第二个数组中不共有的元素,并存储在`unique2`数组中。
5. 输出结果。
阅读全文
相关推荐















