用c语言编写一个程序及其原理有10个互不相同的整数:99、200、95、87、98、-12、30、87、75、-25,不用排序,每当输入一个1-10之间的数n,即可输出第n个大的数。比如,输入2,则输出99. 请设计并实现一算法,传入数字n即可输出第n个大的数。
时间: 2024-05-07 12:15:23 浏览: 16
这道题可以使用选择排序的思想,每次找出当前未排序的数组中最大的数,将其与未排序部分的第一个数交换位置,直到排序完成。然后根据输入的n输出第n个大的数即可。
具体实现如下:
```c
#include <stdio.h>
int main() {
int arr[10] = {99, 200, 95, 87, 98, -12, 30, 87, 75, -25};
int n, i, j, temp;
printf("请输入要输出的第几个大的数(1-10):");
scanf("%d", &n);
// 选择排序
for (i = 0; i < 10; i++) {
int max_index = i;
for (j = i + 1; j < 10; j++) {
if (arr[j] > arr[max_index]) {
max_index = j;
}
}
// 交换位置
temp = arr[i];
arr[i] = arr[max_index];
arr[max_index] = temp;
}
printf("第%d个大的数是:%d\n", n, arr[n - 1]);
return 0;
}
```
运行结果:
```
请输入要输出的第几个大的数(1-10):2
第2个大的数是:99
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)