在主函数中定义一维数组int array[10],自定义以下函数:输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标)、给
时间: 2023-04-30 20:06:24 浏览: 78
这道题目是要求在主函数中定义一个一维数组int array[10],自定义以下函数:输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标,若不存在,请输出下标-1),请给出代码。
相关问题
在主函数中定义一维数组double array[10],从键盘上读入数组元素,自定义以下函数:输出数组所有元素、求平均值、寻找最大元素、查找某元素是否存在、排序,并在主函数中对各函数进行调用和测试。
好的,以下是回复:
在主函数中,我们可以定义一个一维数组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 ;
}
```
这样,我们就完成了题目要求的所有功能。
定义10个元素的的一维数组,键盘输入数组值,求一维数组的平均值。 要求:求最大值功能用函数实现,在main函数中调用。 函数原型: float fun(float array[],int n) 用C语言
好的,以下是用C语言实现的代码:
```
#include <stdio.h>
float fun(float array[], int n); // 函数声明
int main(void) {
float array[10];
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++) {
scanf("%f", &array[i]);
}
printf("一维数组的平均值为:%.2f\n", fun(array, 10));
return 0;
}
float fun(float array[], int n) {
float sum = 0.0;
float max = array[0];
int i;
for (i = 0; i < n; i++) {
sum += array[i];
if (array[i] > max) {
max = array[i];
}
}
printf("一维数组的最大值为:%.2f\n", max);
return sum / n;
}
```
解释一下代码的实现:
1. 首先在 `main` 函数中定义了一个长度为 10 的一维数组 `array`,并通过 `scanf` 函数从键盘输入了 10 个数。
2. 接下来调用 `fun` 函数,传入 `array` 数组和其长度 10,该函数返回数组的平均值。
3. 在 `fun` 函数中,定义了变量 `sum` 用来累加数组中所有元素的值,定义了变量 `max` 表示数组中的最大值,初始值为数组的第一个元素。
4. 然后通过循环遍历数组,累加每个元素的值,同时判断当前元素是否大于 `max`,如果是则更新 `max` 的值。
5. 最后输出数组的最大值,并返回数组的平均值。
希望这个代码对你有所帮助!