牛客网编程初学者入门训练BC39争夺前五名

作为一个入门小白,每天的练习是必不可少的。最近一直在牛客网刷题,发布在博客上的都是我个人感觉的难点,和我一样的小白可以看看有没有共通之处。如果是大佬来访,有空帮我看看还有没有优化的空间,欢迎各位评论区留言,一起进步喽!


 

题目链接争夺前五名_牛客题霸_牛客网 (nowcoder.com)

题目如下:牛客网编程初学者入门训练BC39争夺前五名_第1张图片

1.我们要输入6和6个成绩,在这里我用到了for循环来解决:

确定学生成绩数在40以内,用int arr[40],scanf()输入a值为6

牛客网编程初学者入门训练BC39争夺前五名_第2张图片

 定义i为循环次数,用a来限制次数,让循环进行6次,输入六个值:99 45 78 67 72 88

 2.之后就要进行成绩的排序和比较,这里先不着急,排序,咱们来分析一波:

这里是个冒泡排序,降序排列,分为大循环(换行)小循环(行内排序):

牛客网编程初学者入门训练BC39争夺前五名_第3张图片

 3.********则我们接下来敲:

牛客网编程初学者入门训练BC39争夺前五名_第4张图片

 如此就可以完成上述冒泡降序排列。

4.接下来,就是输出:这里注意,不管输入几个值,我们排序后只打印前五个数:如所示:

牛客网编程初学者入门训练BC39争夺前五名_第5张图片

 将排好的前五个拿出来,只要前五噢!!!!

5.最终的代码如下:

#include 
int main()
{
	int a = 0;
	int i = 0;
	int arr[40];
	scanf("%d", &a);
	for (i = 0; i

这样看下来感觉也不太难嘛......可我整了两小时,中间问题百出,调试监控花了好长时间

牛客网编程初学者入门训练BC39争夺前五名_第6张图片

 好无奈,代码肯定不完美,友友们看看能不能再简洁些,私信我或评论区留言,让我学习一下,感谢大家!

你可能感兴趣的:(个人的难点,算法,c语言)