a13714270351 2015-11-19 04:59 采纳率: 50%
浏览 1383
已采纳

一个排序问题,困扰我好久,求前辈们解答

之前发过,可还是没有解决,网页也找不到了,我有修改了一下,可还是运行不了,求前辈们帮我看一下。
#include

int imax(int shuzu[], int n)
{
int i, max;

max = shuzu[0];
for (i = 0; i < n; i++) {
    if (shuzu[i] > max) max = shuzu[i];
}

return (max);

}

int main(void)
{
int i, j, k, l, max;
int vb[10], vc[10];

printf("请输入10个整数\n");
//第一个for:将数据存入数组 
for (i = 0; i < 10; i++) {
    printf("%2d号:", i + 1);
    scanf("%d", &vb[i]);
}

//第二个for:排序 
for (i = 0; i < 9; i++) {
    max = imax(vb, 10 - i);

    //第一个内置for:将比max小的存入vc数组 
    for (j = 0, k = 0; j < 10-i; j++) {
        if (vb[j] < max) {
            vc[k] = vb[j];
            k++;
        }   
    }
    //最后会空出一个给最大值 
    vc[9-i] = max;

    //第二个内置for:将vc的数据还给vb 
    for (l = 0; l < 10-i; l++) {
        vb[l] = vc[l];
    }   
}

for (i = 0; i < 10; i++) {
    printf("%d\n", vb[i]);
} 

return 0;

}


  • 写回答

2条回答 默认 最新

  • qq_27625193 2015-11-19 05:09
    关注

    第二个内置for能用 i 去做循环吗。。要不把 i 换成 j 什么的试试。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?
  • ¥50 invest生境质量模块