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的好处是什么?
C语言中关于变量的使用
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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时被拒绝