题目要求:输入N个数,输出该数列中第k个最大者。
程序源码:
#include <stdio.h> #include <string.h> void printResult(int *, int, int); int main(void) { int N; int i; int k; printf("请问您要输入几个数字?"); scanf("%d", &N); printf("请您输入数字:"); int iDate[N]; for(i = 0; i < N; i++) { scanf("%d", &iDate[i]); } printf("请问您想输出该数列中第几个最大者?"); scanf("%d", &k); printResult(iDate, k, sizeof(iDate) / sizeof(iDate[0])); return 0; } void printResult(int *date, int k, int len) { int i, j; int temp; for(i = 0; i < len; i++) { for(j = 0; j < i; j++) { if(date[i] > date[j]) { temp = date[i]; date[i] = date[j]; date[j] = temp; } } } printf("您要查找的数列中第%d最大者的数值为%d\n", k, date[k-1]); }
浙公网安备 33010602011771号