有10个互不相同的整数:99、200、95、87、98、-12、30、87、75、-25,不用排序,每当输入一个1-10之间的数n,即可输出第n个大的数。比如,输入2,则输出99. 请设计并实现一算法,传入数字n即可输出第n个大的数。用c语言设计并解释
时间: 2024-01-29 20:02:39 浏览: 176
算法思路:
1. 将给定的10个整数存入数组中。
2. 利用双重循环,遍历数组中的每个元素,比较该元素与后面所有元素的大小关系,如果该元素比后面元素小,则将两个元素交换位置,直到该元素成为当前数组中最大的元素。
3. 根据输入的n值,输出对应的第n个大的数,即数组中下标为n-1的元素。
C语言代码实现:
```c
#include <stdio.h>
int main()
{
int nums[10] = {99, 200, 95, 87, 98, -12, 30, 87, 75, -25}; //给定的10个整数
int n, i, j, temp;
printf("请输入1-10之间的数字:");
scanf("%d", &n);
//冒泡排序
for(i=0; i<9; i++)
{
for(j=i+1; j<10; j++)
{
if(nums[i] < nums[j])
{
temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
printf("第%d个大的数为:%d", n, nums[n-1]);
return 0;
}
```
示例输出:
输入2,则输出99;
输入5,则输出87;
输入10,则输出-25。
阅读全文