解题思路:
利用冒泡法进行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 人评分
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:758 |
简单编码 (C++代码)浏览:675 |
求组合数 (C语言代码)浏览:1151 |
剪刀石头布 (C语言代码)浏览:1742 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:531 |
Cylinder (C语言描述,蓝桥杯)浏览:1245 |
sizeof的大作用 (C语言代码)浏览:1021 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:653 |
简单的a+b (C语言代码)浏览:414 |
杨辉三角 (C语言代码)浏览:675 |