#include<stdio.h>main(){ //用一堆数组求10个数字中的最大值 int max;//暂时存储最大值 int i;//循环变量 int a[10]; printf("请输入十个数字\n"); //输入数字 for(i=0;i<10;i++) { scanf("%d",&a[i]); } //冒泡排序求最大值,后一个大于前一个就替换 for(i=0;i<10;i++) { if(a[i+1]>a[i]) { a[i] = a[i+1]; a[i+1] = max; } } //输出数字 for(i=0;i<10;i++) { printf("%d\t",max); } return 0;}
1 回答
进击的学霸No1
TA贡献15条经验 获得超12个赞
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[0]);
这样进行排序,数组的第一个依次和后面的数进行比较,若后面的数大就放到第一,这其实是进行了从大到小的排序,然后输出数组的第一个数,自然就是最大的那个数
for(j=1;j<10;j++)
{
if(a[0]<a[j])
{
t=a[0];
a[0]=a[j];
a[j]=t;
}
}
printf("%d\n",a[0]);
只对第一个数进行比较,减少循环次数,直接输出最大值
- 1 回答
- 0 关注
- 1177 浏览
添加回答
举报
0/150
提交
取消