蓝桥杯 算法训练 景点游览 C语言
题目:问题描述
小明来到一个景区游玩,但是他的时间有限,没办法逛遍所有的景点,所以他从网上下载了每个景点的评分,他希望能够使游览的景点的评分总和最高,于是他希望你帮他对于N个景点排下序。
输入格式
输入的第一行包含一个正整数N,表示N个景点。
第二行有N个正整数,表示每个景点的评分值。
输出格式
输出一行,包含N个正整数,表示N个景点的评分从大到小的排列
样例输入
4
3 2 4 1
样例输出
4 3 2 1
数据规模和约定
N<=1000,每个景点的评分<=10000。
##解题思路:
在这题,我用的是冒泡排序算法,把N个景点的评分值存入数组,用冒泡排序对数组里面的数进行排序,最后调用冒泡排序函数输出排序后的值。
#include <stdio.h>
void bubble(int a[],int n){ //冒泡排序算法
int i,j,t;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
if(a[j]<a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
int main(){
int a[1000],n,i; //数据规模和约定数组a的大小不能超过1000
scanf("%d",&n);
for(i=0;i<n;i++) //输入未排序好的数组里的值
{
scanf("%d",&a[i]);
}
bubble(a,n); //调用冒泡排序函数将数组里的数进行大小排序
for(i=0;i<n;i++){
printf("%d ",a[i]); //将排序好的数值输出
}
return 0;
}
系统评判结果:
##吃螺蛳粉可以使灵感大增,编程功力大增,大家多吃人间美味螺蛳粉,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!