编写C语言程序,实现对一维数组的基本操作(数组的输入、数组的输出、求数组元素的平均值、求数组中的最大值、数组的排序和数组的查找)
时间: 2024-02-21 09:56:50 浏览: 22
好的,以下是一个简单的实现:
```c
#include <stdio.h>
// 函数声明
void inputArray(int arr[], int len);
void outputArray(int arr[], int len);
double average(int arr[], int len);
int max(int arr[], int len);
void sort(int arr[], int len);
int search(int arr[], int len, int key);
int main() {
int arr[100], len, choice, key;
printf("请输入数组长度(不超过100):");
scanf("%d", &len);
inputArray(arr, len);
while (1) {
printf("\n请选择要进行的操作:\n");
printf("1. 数组输出\n");
printf("2. 数组元素平均值\n");
printf("3. 数组最大值\n");
printf("4. 数组排序\n");
printf("5. 数组查找\n");
printf("0. 退出程序\n");
printf("请选择(0-5):");
scanf("%d", &choice);
switch (choice) {
case 0:
return 0;
case 1:
outputArray(arr, len);
break;
case 2:
printf("数组元素平均值为:%f\n", average(arr, len));
break;
case 3:
printf("数组最大值为:%d\n", max(arr, len));
break;
case 4:
sort(arr, len);
printf("数组已排序成功!\n");
break;
case 5:
printf("请输入要查找的元素:");
scanf("%d", &key);
if (search(arr, len, key) == -1) {
printf("查找失败!\n");
} else {
printf("元素 %d 的下标为 %d。\n", key, search(arr, len, key));
}
break;
default:
printf("输入有误,请重新输入!\n");
}
}
return 0;
}
// 输入数组
void inputArray(int arr[], int len) {
printf("请输入数组元素:\n");
for (int i = 0; i < len; i++) {
scanf("%d", &arr[i]);
}
}
// 输出数组
void outputArray(int arr[], int len) {
printf("数组元素为:");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
// 计算数组平均值
double average(int arr[], int len) {
double sum = 0;
for (int i = 0; i < len; i++) {
sum += arr[i];
}
return sum / len;
}
// 获取数组最大值
int max(int arr[], int len) {
int max = arr[0];
for (int i = 1; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
// 数组排序(使用冒泡排序)
void sort(int arr[], int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 数组查找(返回元素下标,未找到返回 -1)
int search(int arr[], int len, int key) {
for (int i = 0; i < len; i++) {
if (arr[i] == key) {
return i;
}
}
return -1;
}
```
这个程序实现了对一维数组的基本操作,包括了数组的输入、输出、求平均值、求最大值、排序和查找。可以根据需要进行修改和扩展。