|
发表于 2020-11-25 00:05:32
|
显示全部楼层
本楼为最佳答案
下面这个程序简单,但我调试不了程序,原因是我用的 VS2015 不支持变长数组(动态数组),你可以试一试:
- #include<stdio.h>
- int main()
- {
- int i, N, max, min, pos1, pos2;
- scanf("%d", &N);
- int array[N]; // 定义一个动态数组
- for (i = 0;i < N;i++)
- {
- scanf("%d", &array[i]); // 输入N 个正整数
- }
- max = array[0]; // 假定 array[0] 元素就是最大值
- min = array[0]; // 假定 array[0] 元素就是最小值
- for (i = 1;i < N;i++)
- {
- if (max < array[i])
- {
- max = array[i];
- pos1 = i;
- }
- if (min > array[i])
- {
- min = array[i];
- pos2 = i;
- }
- }
- printf("max = %d, pos = %d\n", max, pos1 + 1); // 位置加1,更适应人们的说法:元素 array[0] 就是第1个元素
- printf("min = %d, pos = %d\n", min, pos2 + 1);
- }
复制代码 |
|