解题思路:
利用冒泡法进行10趟比较找出前十名的数据,没进行一趟比较就输出一个数据
注意事项:
注意冒泡法的用法即可。
参考代码:
#include"stdio.h"
#include"malloc.h"
int main()
{
int n,i,j,t;
int*num=NULL;
scanf("%d",&n);
num=(int*)malloc(sizeof(int)*n); //动态分配数组内存
for(i=0;i<n;i++)
scanf("%d",&num[i]);
for(i=0;i<10;i++) //冒泡法,进行10趟比较,找出前十名的数据
{
for(j=0;j<n-1-i;j++)
if(num[j]>num[j+1])
{
t=num[j];
num[j]=num[j+1];
num[j+1]=t;
}
printf("%d ",num[j]); //冒泡结束输出一个数据,注意是j,已经结果上次for循环加一了
}
free(num); //释放指针
return 0;
}
0.0分
0 人评分