在主函数中定义一维数组double array[10],从键盘上读入数组元素,自定义以下函数:输出数组所有元素、求平均值、寻找最大元素、查找某元素是否存在、排序,并在主函数中对各函数进行调用和测试。
时间: 2023-03-16 17:48:16 浏览: 151
好的,以下是回复:
在主函数中,我们可以定义一个一维数组double array[10],然后从键盘上读入数组元素。读入数组元素可以使用for循环和scanf函数实现,代码如下:
```c
for(int i=; i<10; i++){
scanf("%lf", &array[i]);
}
```
接下来,我们需要自定义以下函数:
1. 输出数组所有元素
输出数组所有元素可以使用for循环和printf函数实现,代码如下:
```c
void printArray(double array[], int length){
for(int i=; i<length; i++){
printf("%lf ", array[i]);
}
printf("\n");
}
```
2. 求平均值
求平均值可以使用for循环和累加求和的方法实现,代码如下:
```c
double getAverage(double array[], int length){
double sum = ;
for(int i=; i<length; i++){
sum += array[i];
}
return sum/length;
}
```
3. 寻找最大元素
寻找最大元素可以使用for循环和比较大小的方法实现,代码如下:
```c
double getMax(double array[], int length){
double max = array[];
for(int i=1; i<length; i++){
if(array[i] > max){
max = array[i];
}
}
return max;
}
```
4. 查找某元素是否存在
查找某元素是否存在可以使用for循环和比较大小的方法实现,代码如下:
```c
bool isExist(double array[], int length, double target){
for(int i=; i<length; i++){
if(array[i] == target){
return true;
}
}
return false;
}
```
5. 排序
排序可以使用冒泡排序或者快速排序等算法实现,这里我们使用冒泡排序实现,代码如下:
```c
void bubbleSort(double array[], int length){
for(int i=; i<length-1; i++){
for(int j=; j<length-i-1; j++){
if(array[j] > array[j+1]){
double temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
```
最后,在主函数中对各函数进行调用和测试,代码如下:
```c
int main(){
double array[10];
for(int i=; i<10; i++){
scanf("%lf", &array[i]);
}
printArray(array, 10);
printf("Average: %lf\n", getAverage(array, 10));
printf("Max: %lf\n", getMax(array, 10));
if(isExist(array, 10, 5)){
printf("5 exists in array.\n");
}else{
printf("5 does not exist in array.\n");
}
bubbleSort(array, 10);
printArray(array, 10);
return ;
}
```
这样,我们就完成了题目要求的所有功能。
阅读全文