qq_43716273 2018-11-16 09:52 采纳率: 0%
浏览 493

C语言中关于变量的使用

void sort(int array[],int n)

{ int i,j,t;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

{ if(array[i]<array[j])

t=array[i];array[i]=array[j];array[j]=t; } }

用k的好处是什么?

  • 写回答

2条回答 默认 最新

  • threenewbee 2018-11-16 11:28
    关注

    你没有一个叫做k的变量
    只有i j是循环变量,t是作为交换的中间变量。

    另外,你的排序算法非但谈不到好处,而且根本不对。
    我测试了下

    #include <stdio.h>
    
    void sort(int array[],int n)
    
    { int i,j,t;
    
    for(i=0;i<n-1;i++)
    
    for(j=i+1;j<n;j++)
    
    { if(array[i]<array[j])
    
    t=array[i];array[i]=array[j];array[j]=t; } }
    
    int main () {
        int arr[6] = { 3, 7, 2, 9, 4, 8 };
        sort(arr, 6);
        int i;
        for (i = 0; i < 6; i++) printf("%d ", arr[i]);
        return 0;
    }
    

    输出
    8 4 2 2 2 2

    显然不对

    之所以不对,表面原因是if下面交换的花括号忘记写了,深层次原因是你写程序良好的习惯没有培养起来,缺少缩进和正确的换行。

    修改为
    {t=array[i];array[i]=array[j];array[j]=t;} } }

    则输出结果
    9 8 7 4 3 2

    评论

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝