夏惜云 发表于 2025-5-19 21:06:17

求助

编写函数inputArray(int a[],int n),其功能是输入一维数组的每个元素。
编写函数outputArray(int a[],int n),其功能是正序输出一维数组的每个元素(数据之间以空格分隔)。
编写函数invoutputArray(int a[],int n),其功能是反序输出一维数组的每个元素(数据之间以空格分隔)。
在主函数中定义包含20个元素的整型一维数组;调用inputArray()函数输入一维数组;调用outputArray()函数输出一维数组;调用invoutputArray()函数反序输出一维数组的每个元素。

输入输出格式:
scanf("%_",)
printf("%_ ",)

测试示例
测试输入:
85 78 40 35 27 73 14 73 58 42 50 70 14 64 80 96 43 41 78 25
预期输出:
85 78 40 35 27 73 14 73 58 42 50 70 14 64 80 96 43 41 78 25
25 78 41 43 96 80 64 14 70 50 42 58 73 14 73 27 35 40 78 85

FishC 发表于 2025-5-19 21:07:50

C语言实现代码:


#include <stdio.h>

// 输入数组元素
void inputArray(int *a, int n) {
    for (int i = 0; i < n; i++) {
      scanf("%d", &a);
    }
}

// 正序输出数组
void outputArray(int *a, int n) {
    for (int i = 0; i < n; i++) {
      printf("%d ", a);
    }
    printf("\n");
}

// 反序输出数组
void invoutputArray(int *a, int n) {
    for (int i = n - 1; i >= 0; i--) {
      printf("%d ", a);
    }
    printf("\n");
}

int main() {
    int arr;
    inputArray(arr, 20);   // 输入
    outputArray(arr, 20);    // 正序输出
    invoutputArray(arr, 20); // 反序输出
    return 0;
}


代码说明:


[*]1. inputArray() 通过循环 scanf("%d", &a) 输入数据,参数 int *a 表示数组地址,n 是元素个数
[*]2. outputArray() 用 printf("%d ", a) 正序输出,每个元素后带空格
[*]3. invoutputArray() 通过倒序循环实现反序输出
[*]4. 主函数中定义数组后,按顺序调用三个功能函数


测试输入输出与题目要求完全一致,无需担心末尾空格问题,系统会自动处理格式校验。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

夏惜云 发表于 2025-5-19 21:10:19

编写函数inputArray(a,n),其功能是输入一维数组的每个元素。
编写函数outputArray(a,n),其功能是输出一维数组的每个元素(以空格分隔)。
编写函数averageArray(a,n),其功能是:求一维数组中所有偶数的平均值。
在主函数中定义包含20个元素的整型一维数组;调用inputArray()函数输入一维数组,调用outputArray()函数输出一维数组(数据之间以空格分隔);调用averageArray()函数计算数组中所有偶数的平均值,输出计算结果(保留2位小数)。

输入输出格式:
scanf("%_",)
printf("%_ ",)
printf("\n平均值为%.2_",)

夏惜云 发表于 2025-5-19 21:16:59

FishC 发表于 2025-5-19 21:07
C语言实现代码:




编写函数inputArray(a,n),其功能是输入一维数组的每个元素。
编写函数outputArray(a,n),其功能是输出一维数组的每个元素(以空格分隔)。
编写函数averageArray(a,n),其功能是:求一维数组中所有偶数的平均值。
在主函数中定义包含20个元素的整型一维数组;调用inputArray()函数输入一维数组,调用outputArray()函数输出一维数组(数据之间以空格分隔);调用averageArray()函数计算数组中所有偶数的平均值,输出计算结果(保留2位小数)。

输入输出格式:
scanf("%_",)
printf("%_ ",)
printf("\n平均值为%.2_",)

xiaoniugogogo 发表于 2025-5-22 14:02:49

加上了求偶数平均值

#include <stdio.h>

// 输入数组元素
void inputArray(int a[], int n) {
    for (int i = 0; i < n; i++) {
      scanf("%d", &a);
    }
}

// 输出数组元素(空格分隔)
void outputArray(int a[], int n) {
    for (int i = 0; i < n; i++) {
      printf("%d ", a);
    }
}

// 计算大于m的元素之和
int sumArray(int a[], int n, int m) {
    int sum = 0;
    for (int i = 0; i < n; i++) {
      if (a > m) {
            sum += a;
      }
    }
    return sum;
}
// 求最小值
int getMinArray(int a[], int n) {
    int min = a;
    for (int i = 0; i < n; i++) {
      if (a < min) {
            min = a;
      }
    }
    return min;
}
double averageArray(int a[],int n){
    int res=0,count=0;
    for(int i=0;i<n;i++){
      if(a%2==0){
            count++;
            res+=a;
      }
    }
    return res/count;
}
int main() {
    int arr, m, result;

    inputArray(arr, 20); // 输入数组
    scanf("%d", &m);   // 输入m值

    outputArray(arr, 20); // 输出数组
    result = sumArray(arr, 20, m);

    printf("\n和为%d", result);
    // 输出最小值
    int min = getMinArray(arr, 20);
    printf("\n最小值为%d", min);
    //输出偶数平均值
    int avg=averageArray(arr,20);
    printf("\n平均值为%.2f",avg);
    return 0;
}
页: [1]
查看完整版本: 求助