在主函数中定义一维数组int array[10],自定义以下函数:输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标)、给
时间: 2023-04-30 19:06:24 浏览: 139
这道题目是要求在主函数中定义一个一维数组int array[10],自定义以下函数:输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在(若存在,请输出下标,若不存在,请输出下标-1),请给出代码。
相关问题
编写程序exp5_1.c,在主函数中定义一维数组int array[10],自定义以下函数:输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在
好的,以下是exp5_1.c的程序代码:
#include <stdio.h>
// 输入数组元素
void inputArray(int array[], int length) {
printf("请输入%d个整数:\n", length);
for (int i = ; i < length; i++) {
scanf("%d", &array[i]);
}
}
// 输出数组元素
void outputArray(int array[], int length) {
printf("数组元素为:");
for (int i = ; i < length; i++) {
printf("%d ", array[i]);
}
printf("\n");
}
// 求数组元素平均值
double averageArray(int array[], int length) {
int sum = ;
for (int i = ; i < length; i++) {
sum += array[i];
}
return (double)sum / length;
}
// 输出数组元素最大值
int maxArray(int array[], int length) {
int max = array[];
for (int i = 1; i < length; i++) {
if (array[i] > max) {
max = array[i];
}
}
return max;
}
// 输出数组元素最小值
int minArray(int array[], int length) {
int min = array[];
for (int i = 1; i < length; i++) {
if (array[i] < min) {
min = array[i];
}
}
return min;
}
// 查找某数值元素是否存在
int searchArray(int array[], int length, int target) {
for (int i = ; i < length; i++) {
if (array[i] == target) {
return i;
}
}
return -1;
}
int main() {
int array[10];
inputArray(array, 10);
outputArray(array, 10);
printf("数组元素平均值为:%.2f\n", averageArray(array, 10));
printf("数组元素最大值为:%d\n", maxArray(array, 10));
printf("数组元素最小值为:%d\n", minArray(array, 10));
int target;
printf("请输入要查找的数值元素:");
scanf("%d", &target);
int index = searchArray(array, 10, target);
if (index == -1) {
printf("该数值元素不存在\n");
} else {
printf("该数值元素在数组中的下标为:%d\n", index);
}
return ;
}
在主函数中定义一维数组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 ;
}
```
这样,我们就完成了题目要求的所有功能。
阅读全文