编写程序求含有N个元素一维数组的最大值,最小值以及它们的下标。要求数组元素的输入,求最大值最小值及它们的下标通过函数实现,结果在主函数实现,只能用stdio.h
程序代码:
#include <stdio.h> #define N 10 int array[N]; void getN() { int i; for (i=0; i<N; i++) { scanf("%d", array+i); } } int getMax(int *index) { int i, ret; ret = array[0]; *index = 0; for (i=1; i<N; i++) { if (ret < array[i]) { ret = array[i]; *index = i; } } return ret; } int getMin(int *index) { int i, ret; ret = array[0]; *index = 0; for (i=1; i<N; i++) { if (ret > array[i]) { ret = array[i]; *index = i; } } return ret; } int main() { int index; getN();//有多个最大或最小值仅输出下标最小的那个 printf("最大下标为%d,值为%d\n", index, getMax(&index)); printf("最小下标为%d,值为%d\n", index, getMin(&index)); return 0; }