C语言定义一个包含10个元素的整型数组,利用随机函数给数组元素赋值,数组元素的取值范围在区间【1,100】。程序要求实现如下功能: (1)输出数组中最大值与最小值,及其位置。 (2)将数组中的素数元素输出。 (3)输出所有比平均值大的元素。
时间: 2024-11-25 11:12:58 浏览: 12
在C语言中,你可以按照以下步骤定义一个包含10个元素的整型数组并实现所需的功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 判断是否为素数
int is_prime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
int main() {
srand(time(0)); // 设置随机种子
int arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = rand() % 100 + 1; // 随机生成1到100之间的整数
}
// 输出数组、最大值、最小值及位置
int max_val = arr[0], min_val = arr[0], max_pos = 0, min_pos = 0;
for (int i = 0; i < 10; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
max_pos = i + 1;
} else if (arr[i] < min_val) {
min_val = arr[i];
min_pos = i + 1;
}
}
printf("最大值: %d, 位置: %d\n", max_val, max_pos);
printf("最小值: %d, 位置: %d\n", min_val, min_pos);
// 输出素数元素
float avg = (float)(sum(arr, sizeof(arr)/sizeof(arr[0]))) / 10;
for (int i = 0; i < 10; i++) {
if (is_prime(arr[i])) {
printf("%d 是素数,", arr[i]);
}
}
printf("\n");
// 输出比平均值大的元素
for (int i = 0; i < 10; i++) {
if (arr[i] > avg) {
printf("%d 比平均值大,", arr[i]);
}
}
printf("\n");
return 0;
}
// 辅助函数:计算数组元素总和
int sum(int arr[], int n) {
int total = 0;
for (int i = 0; i < n; i++)
total += arr[i];
return total;
}
```
运行这个程序后,它会满足题目所描述的所有需求。
阅读全文