#include<stdio.h>
int main()
{
//输入
int n=0;
//n 是个数
int i=0;
int j=0;
int arr[40]={0};
//arr存放成绩
scanf("%d",&n);
for (i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
//想要排序,排成升序,打印后五个元素
//采用冒泡排序
for (i=0;i<n-1;i++)//趟数
{//一趟冒泡排序需要对多少元素进行比较
for(j=0;j<n-1-i;j++)
{
int temp=0;//大的往后放,先把大的存起来
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(i=n-1;i>=n-5 ;i--)
{
printf("%d ",arr[i]);
}
return 0;
}
解决了什么问题
1,要输入n个数字,往数组里放,用for循环,scanf("%d",&arr[i]);对arr[i]取地址
2,冒泡排序方法,对N个数字,进行N-1趟,故外层for(int i=0;i<n-1;i++)
内层是每一趟比多少次,越来越少,for(int j=0;j<n-1;j++)
3,把数组排序之后,如何输出最后五个数字,for(int i=n-1;i>=n-5;i--)