用C语言编写一个程序,由主函数和如下函数构成。 ⑴设计函数:input(),输入n个无序的整数存储在一个数组中; ⑵设计函数:sort(),用起泡法对数组中的n各数据从大到小排序; ⑶设计函数:search(),求m到n之间的所有素数。
时间: 2024-03-20 18:42:20 浏览: 149
实验05 函数结构程序设计
5星 · 资源好评率100%
好的,以下是这个程序的代码:
```c
#include <stdio.h>
void input(int arr[], int n);
void sort(int arr[], int n);
void search(int m, int n);
int main() {
int n, m;
printf("请输入数组大小n:");
scanf("%d", &n);
int arr[n];
input(arr, n);
sort(arr, n);
printf("请输入区间[m, n],求该区间内的所有素数:\n");
scanf("%d%d", &m, &n);
search(m, n);
return 0;
}
void input(int arr[], int n) {
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
}
void sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("从大到小排序后的数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
void search(int m, int n) {
for (int i = m; i <= n; i++) {
int flag = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
}
```
这个程序实现了如下功能:
1. 通过 `input()` 函数输入 n 个无序的整数存储在一个数组中;
2. 通过 `sort()` 函数,用起泡法对数组中的 n 个数据从大到小排序;
3. 通过 `search()` 函数,求 m 到 n 之间的所有素数。
在主函数中,先输入数组大小 n,然后调用 `input()` 函数输入 n 个整数,并调用 `sort()` 函数将数组从大到小排序。接着,输入区间 [m, n],并调用 `search()` 函数求该区间内的所有素数。最后,程序结束。
阅读全文