湖畔读书人


私信TA

用户名:2814787590

访问量:129070

签 名:

等  级
排  名 21
经  验 19917
参赛次数 0
文章发表 42
年  龄 0
在职情况 学生
学  校 武汉东湖学院
专  业

  自我简介:

解题思路注意事项:

给十个数进行排序,我们用到的是冒泡法,每次将最大的一个数放到最后,由于前九次已经把后面的序列排好,所以一共只需要进行九次即可;


同时在进行第i次排序的时候因为最后i个数是已经比较过的,所以在一次排序中需要比较的次数为10-i。

参考代码:

#include<stdio.h>
int main()
{
	int a[10],i,j,temp;
	for(i=0; i<10; i++){
		scanf("%d",&a[i]);
	}
	for(i=0; i<9; i++){
		for(j=0; j<10-i; j++){
			if(a[j] > a[j+1]){
				temp = a[j];
				a[j] = a[j+1];
				a[j+1] = temp;
			}
		}
	}
	for(i=0; i<10; i++){
		printf("%d\n",a[i]);
	}
	return 0;
}


 

0.0分

145 人评分

新上线《蓝桥杯辅导》课程,近五年的蓝桥杯省赛与国赛真题都有,从读题开始理解题意、梳理思路、实现代码再提交评测全过程,可有效提升获奖比例甚至进国赛!课程介绍、试听请猛击这里

  评论区

1.代码质量低
2.运行结果也不对
强行优质题解
2018-12-24 08:12:37
超时啊,这么是优质题解了?
2018-12-14 11:05:37
错了吧
2018-11-12 21:07:41
10-i不必吧,9-i就可以咯
2018-11-11 18:24:28
大神们看看我这是不是简单点
#include<stdio.h>
int main()
{
    int a[10],i,j,t;
	for(i=0;i<10;i++)
	scanf("%d",&a[i]);
	for(i=0;i<10;i++){
	for(j=i+1;j<10;j++)
	{
		if(a[i]>a[j])
		{
			t=a[i];
			a[i]=a[j];
			a[j]=t;
		}
	}
	printf("%d\n",a[i]);
	}
    return 0;
}
2018-08-05 23:04:59
“起泡排序”属于快速排序
2018-06-21 18:59:38