m0_58061620 2021-12-04 16:57 采纳率: 49.5%
浏览 27
已结题

输入六个数,从大到小输出,哪出错了呢


#include<stdio.h>
int max(int a[],int len)
{
    int maxid = len-1,i;
    for(i=len-2;i>=6-len;i--)
    {
        if(a[maxid]<a[i])
        maxid = i;
    }
    return maxid;
}
int main()
{
    int a[6];
    int i;
    for(i=0;i<6;i++)
    scanf("%d",&a[i]);
    int len = sizeof(a)/sizeof(a[0]);
    for(i=0;i<len;i++)
    {
        int maxid =max(a,len-i);
        int t = a[maxid];
        a[maxid] = a[i];
        a[i] = t;
    }
    for(i = 0;i<len;i++)
    printf("%d",a[i]);
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 五一编程 2021-12-04 19:31
    关注
    
        for(i=0;i<len;i++)
    
        {
    
            int maxid =max(a,len-i);
    
            int t = a[maxid];
    
            a[maxid] = a[i];
    
            a[i] = t;
    
        }
    
    

    上面的逻辑有问题

    #include <stdio.h>
    
    #include <stdlib.h>
    
    int main()
    
    {
    
    int a[6];
    
    int i,j,k;
    
    for(i=0;i<=5;i++)
    
    {
    
    scanf("%d",&a[i]);
    
    }
    
    for(i=0;i<=5;i++)
    
    {
    
    for(j=0;j<=5;j++)
    
    {
    
    if(a[i]>a[j])
    
    {
    
    k=a[i]; a[i]=a[j]; a[j]=k;
    
    }
    
    }
    
    }
    
    printf("排序结果是:\n");
    
    for(i=0;i<=5;i++)
    
    {
    
    printf("%d\t",a[i]);
    
    }
    
    return 0;
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月12日
  • 已采纳回答 12月4日
  • 修改了问题 12月4日
  • 创建了问题 12月4日

悬赏问题

  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题