struct demo { int a; float b; }demo; int main() { int n,k,c,j; float d; scanf("%d%d",&n,&k); demo a[n]; int i; for (i=0;i<n;i++) { scanf("%d%f",&a[i].a,&a[i].b); } for (i=0;i<n;i++) { for (j=0;j<n-1;j++) { if (a[j].b<a[j+1].b) { d=a[j].b; a[j].b=a[j+1].b; a[j+1].b=d; c=a[j].a; a[j].a=a[j+1].a; a[j+1].a=c; } } } printf("%d%g",a[k-1].a,a[k-1].b); return 0; }
时间: 2024-01-14 10:05:06 浏览: 31
这段代码是一个简单的排序程序,它首先从用户输入中读取一个整数 n 和一个整数 k,然后创建一个 demo 类型的数组 a,数组中包含 n 个元素。接下来,程序循环 n 次,每次读取一个整数和一个浮点数,并将它们存储在数组 a 中。然后,程序使用冒泡排序算法对数组 a 中的元素按照浮点数从大到小排序。最后,程序输出数组 a 中第 k 个元素的整数和浮点数值。
需要注意的是,这段代码中有一个隐患,即数组 a 的大小没有限制,如果用户输入的 n 过大,程序可能会崩溃或产生未定义的行为。为了避免这种情况,建议使用动态内存分配来创建数组 a,或者限制数组大小并进行错误检查。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)