5.21-----c语言冒泡排序--谁考了第K名

news/2024/10/18 16:48:00/

题目:

算法描述:

先创建2个数组,然后将学号,成绩都存在数组里面,然后里要冒泡排序法将学号,成绩按从小到大进行排序,然后输出第k名的成绩(数组下标为k-1)的。

#include<stdio.h>
int main(void)
{
int n,k;
scanf("%d%d",&n,&k);
double xuehao[n];
double cj[n];
int i;
printf("\n");
for(i=0;i<n;i++)
{
scanf("%lf",&xuehao[i]);
printf(" ");
scanf("%lf",&cj[i]);
printf("\n");
}
//冒泡
double temp1,temp2;
int j;
for(j=1;j<n;j++)
{
for(i=0;i<n-j;i++)
{if(cj[i]<cj[i+1])   //把最大的放在后面,是小于,不是大于
{
temp1=cj[i+1];
cj[i+1]=cj[i];
cj[i]=temp1;
temp2=xuehao[i+1];
xuehao[i+1]=xuehao[i];
xuehao[i]=temp2;
}
}
}
//printf("%.0f %.1f",xuehao[k],cj[k]);  不能是k,c语言数组的语法
printf("%.0f %.1f",xuehao[k-1],cj[k-1]);
return 0;
}​

 结果:

 


http://www.ppmy.cn/news/714122.html

相关文章

运用折半查找算法在一个有序数组中查找具体的某个数值k(c语言)

实现功能 在一个有序数组中&#xff0c;查找想要查找的某个具体数值。 如何实现 主要逻辑&#xff1a; 运用折半查找算法&#xff1a;设置中间值、左变量、右变量&#xff0c;通过比较大小不断将数组查找范围折半缩小&#xff0c;直至找到想要查找的数值k。 代码 #includ…

c语言将数组元素循环右移k位,把一个含有N个元素的数组循环右移K位

普通解法&#xff1a; 可以每次将数组中的元素右移一位&#xff0c;循环K次。每个元素右移N位后都会回到自己的位置上。因此&#xff0c;如果K > N&#xff0c;右移K-N之后的数组序列跟右移K位的结果是一样的。进而可得出一条通用的规律&#xff1a;右移K位之后的情形&#…

用分治法寻找第k小的值(C语言实现)

经典方法&#xff1a; #include<stdio.h> #include<stdlib.h> int min(int* A, int start, int end) {if (start end)return A[start];else{int min1, min2, mid;mid (start end) / 2;min1 min(A,start, mid);min2 min(A,mid 1, end);if (min1 < min2)re…

C语言学习笔记: i < j < k 的操作

表达式i < j < k在C语言中是合法的&#xff0c;但是它不是你所期望的意思。因为&#xff1c;运算符是左结合的&#xff0c; 所以这个表达式等价于(i < j) < k. 换句话说&#xff0c; 表达式首先检测l.是否小千j, 然后用比较后产生的结果1或0来和K进行比较。 表达式…

K倍区间(蓝桥杯2017年第八届省赛B组第十题)(C/C++)

题目描述 给定一个长度为 N 的数列&#xff0c;A1, A2,...AN​&#xff0c;如果其中一段连续的子序列 Ai,Ai1⋯Aj​ ( i ≤j ) 之和是 K 的倍数&#xff0c;我们就称这个区间 [i, j]是 K 倍区间。 你能求出数列中总共有多少个 K倍区间吗&#xff1f; 输入描述 第一行包含两…

c语言之求n以内最大的k个素数以及它们的和

描述 编写程序&#xff0c;计算并输出不超过n的最大的k个素数以及它们的和。 输入 在一行中给出n(10≤n≤10000)和k(1≤k≤10)的值。 输出 在一行中按下列格式输出: 素数1素数2…素数k总和值 其中素数按递减顺序输出。若n以内不够k个素数&#xff0c;则按实际个数输出。 输…

查找第K小元素(C语言版)

今天在看《算法&#xff1a;C语言实现》时&#xff0c;在快速排序那一章最后一节讲述了利用快速排序的思想&#xff0c;快速排序每次划分后在枢轴的左边的元素都比枢轴小(或相等)&#xff0c;在枢轴右边的数都比枢轴大(或相等)&#xff0c;而划分后枢轴本身就放在了(有序时)它自…

【已解决】C语言从n个不同的元素中,每次取出k个不同的元素

本博文源于c语言基础&#xff0c;旨在通过对思路的解释&#xff0c;编写出组合数的代码&#xff0c;博文分为以下模块1、问题再现&#xff0c;2、代码测试效果3、核心解题思路4、完整源码 重点看解题思路 1、问题再现 从n个不同的元素中&#xff0c;每次取出k个不同的元素&am…