鱼C论坛

 找回密码
 立即注册
查看: 1781|回复: 2

[已解决]这段代码为什么不能对-1排序?

[复制链接]
发表于 2022-11-23 14:55:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<iostream>
  2. using namespace std;

  3. int main(){
  4.     int a[10];
  5.     int i,j,temp=0;
  6.     int k,x=0;
  7.     cout<<"请输入10个数"<<endl;
  8.     for(i=0;i<10;i++){
  9.         scanf("%d",&a[i]);
  10.     }
  11.     for(i=0;i<9;i++){
  12.         k=i;
  13.         for(j=i+1;j<10;j++){
  14.             if(a[j]<a[i])
  15.             k=j;
  16.         }
  17.         temp=a[i];
  18.         a[i]=a[k];
  19.         a[k]=temp;
  20.     }
  21.     cout<<"排序后"<<endl;
  22.     for(i=0;i<10;i++){
  23.         cout<<a[i]<<" ";
  24.     }
  25.     getchar();
  26.     getchar();
  27. }
复制代码
最佳答案
2022-11-23 14:58:55
  1. #include<iostream>
  2. using namespace std;

  3. int main(){
  4.     int a[10];
  5.     int i,j,temp=0;
  6.     int k,x=0;
  7.     cout<<"请输入10个数"<<endl;
  8.     for(i=0;i<10;i++){
  9.         scanf("%d",&a[i]);
  10.     }
  11.     for(i=0;i<9;i++){
  12.         k=i;
  13.         for(j=i+1;j<10;j++){
  14.             if(a[j]<a[k]) //a[i]改成a[k]
  15.             k=j;
  16.         }
  17.         temp=a[i];
  18.         a[i]=a[k];
  19.         a[k]=temp;
  20.     }
  21.     cout<<"排序后"<<endl;
  22.     for(i=0;i<10;i++){
  23.         cout<<a[i]<<" ";
  24.     }
  25.     getchar();
  26.     getchar();
  27. }
复制代码
Snipaste_2022-11-23_14-55-33.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-23 14:58:55 | 显示全部楼层    本楼为最佳答案   
  1. #include<iostream>
  2. using namespace std;

  3. int main(){
  4.     int a[10];
  5.     int i,j,temp=0;
  6.     int k,x=0;
  7.     cout<<"请输入10个数"<<endl;
  8.     for(i=0;i<10;i++){
  9.         scanf("%d",&a[i]);
  10.     }
  11.     for(i=0;i<9;i++){
  12.         k=i;
  13.         for(j=i+1;j<10;j++){
  14.             if(a[j]<a[k]) //a[i]改成a[k]
  15.             k=j;
  16.         }
  17.         temp=a[i];
  18.         a[i]=a[k];
  19.         a[k]=temp;
  20.     }
  21.     cout<<"排序后"<<endl;
  22.     for(i=0;i<10;i++){
  23.         cout<<a[i]<<" ";
  24.     }
  25.     getchar();
  26.     getchar();
  27. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-23 15:08:35 | 显示全部楼层
  1.     for(i=0;i<9;i++){
  2.         k=i;
  3.         for(j=i+1;j<10;j++){
  4.             if(a[j]<a[k])    // 这里有问题,a[j] 应该和 a[k] 比,而不是 a[i] !
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 05:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表