c语言编程一个20元素的一维数组,数组元素为【10,99】中的任意自然数,找出其中最大值和最小值及其位置。
时间: 2024-05-02 21:20:43 浏览: 87
好的,这是一个关于C语言编程的问题。以下是解决该问题的代码:
```
#include <stdio.h>
int main()
{
int arr[20] = {10, 99, 15, 23, 8, 45, 67, 22, 39, 11, 77, 56, 18, 31, 94, 25, 68, 13, 90, 35};
int max = arr[0], min = arr[0];
int maxIndex = 0, minIndex = 0;
for(int i = 0; i < 20; i++)
{
if(arr[i] > max)
{
max = arr[i];
maxIndex = i;
}
if(arr[i] < min)
{
min = arr[i];
minIndex = i;
}
}
printf("最大值为 %d,位置为 %d\n", max, maxIndex);
printf("最小值为 %d,位置为 %d\n", min, minIndex);
return 0;
}
```
输出为:
```
最大值为 99,位置为 1
最小值为 8,位置为 4
```
相关问题
c语言 有一个20元素的一维数组,数组元素为【10,99】中的任意自然数,找出其中最大值和最小值及其位置。
好的,这是一道关于C语言数组操作的问题。最大值和最小值可以通过遍历数组进行比较得出,而位置可以通过记录每个元素的索引得到。以下是一个可能的解答:
```c
#include <stdio.h>
#define N 20
int main() {
int arr[N] = {10, 99, 6, 28, 74, 31, 78, 82, 45, 50, 23, 61, 37, 72, 57, 3, 66, 59, 92, 16};
int max = arr[0], min = arr[0], index_max = 0, index_min = 0;
for (int i = 1; i < N; i++) {
if (arr[i] > max) {
max = arr[i];
index_max = i;
}
if (arr[i] < min) {
min = arr[i];
index_min = i;
}
}
printf("Max: %d, index: %d\n", max, index_max);
printf("Min: %d, index: %d\n", min, index_min);
return 0;
}
```
程序中的 arr 数组对应题目中的“20元素的一维数组”,其他部分则按照题目要求进行处理。
阅读全文