对一维数组a[N]的处理: (1)实现数组a[N]的输入和输出; (2)找出数组a[N]的最大值或最小值; (3)对数组a[N]进行倒置; (4)求数组a[N]所有元素的和及平均值; 并输出结果
时间: 2023-12-16 17:02:45 浏览: 105
cpp代码-大作业第二题: 输入一个5行5列的二维数组,编程实现: (1) 求出其中的最大值和最小值及其对应的行列位置; (2) 求出上三角上各元素之和(上三角的元素a[i][j] ,i+j<5)。
5星 · 资源好评率100%
(1) 输入和输出数组a[N]的实现可以使用循环来逐个输入/输出数组的元素。以下是一个示例代码:
```c
#include <stdio.h>
void inputArray(int a[], int N) {
printf("请输入数组元素:\n");
for (int i = 0; i < N; i++) {
scanf("%d", &a[i]);
}
}
void outputArray(int a[], int N) {
printf("数组元素为:");
for (int i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n");
}
int main() {
int N;
printf("请输入数组大小N:");
scanf("%d", &N);
int a[N];
inputArray(a, N);
outputArray(a, N);
return 0;
}
```
(2) 找出数组a[N]的最大值或最小值可以使用一个变量来记录当前的最大值或最小值,然后遍历数组逐个比较即可。以下是一个示例代码:
```c
#include <stdio.h>
int findMax(int a[], int N) {
int max = a[0];
for (int i = 1; i < N; i++) {
if (a[i] > max) {
max = a[i];
}
}
return max;
}
int findMin(int a[], int N) {
int min = a[0];
for (int i = 1; i < N; i++) {
if (a[i] < min) {
min = a[i];
}
}
return min;
}
int main() {
int N;
printf("请输入数组大小N:");
scanf("%d", &N);
int a[N];
inputArray(a, N);
int max = findMax(a, N);
int min = findMin(a, N);
printf("数组的最大值为:%d\n", max);
printf("数组的最小值为:%d\n", min);
return 0;
}
```
(3) 对数组a[N]进行倒置可以使用两个指针分别指向数组的首尾,然后交换它们所指向的元素,直到两个指针相遇。以下是一个示例代码:
```c
#include <stdio.h>
void reverseArray(int a[], int N) {
int left = 0;
int right = N - 1;
while (left < right) {
int temp = a[left];
a[left] = a[right];
a[right] = temp;
left++;
right--;
}
}
int main() {
int N;
printf("请输入数组大小N:");
scanf("%d", &N);
int a[N];
inputArray(a, N);
reverseArray(a, N);
printf("倒置后的数组为:");
outputArray(a, N);
return 0;
}
```
(4) 求数组a[N]所有元素的和及平均值可以遍历数组累加元素的值,并计算平均值。以下是一个示例代码:
```c
#include <stdio.h>
void sumAndAverage(int a[], int N) {
int sum = 0;
for (int i = 0; i < N; i++) {
sum += a[i];
}
float average = (float)sum / N;
printf("数组所有元素的和为:%d\n", sum);
printf("数组所有元素的平均值为:%.2f\n", average);
}
int main() {
int N;
printf("请输入数组大小N:");
scanf("%d", &N);
int a[N];
inputArray(a, N);
sumAndAverage(a, N);
return 0;
}
```
以上是针对一维数组a[N]的输入、输出、最大值、最小值、倒置、求和及平均值的实现示例代码。你可以根据需要选择其中的某一部分或整合在一起使用。
阅读全文