为了账号安全,请及时绑定邮箱和手机立即绑定

怎么才能实现目标

怎么才能实现目标

C
日光倾城4 2017-06-10 22:10:03
#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 反对 回复 2017-06-10
  • 进击的学霸No1
    进击的学霸No1
    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
提交
取消
意见反馈 帮助中心 APP下载
官方微信