猿问

怎么才能实现目标

#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;
}



日光倾城4
浏览 1178回答 1
1回答

进击的学霸No1

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]);只对第一个数进行比较,减少循环次数,直接输出最大值
随时随地看视频慕课网APP
我要回答