鱼C论坛

 找回密码
 立即注册
查看: 2331|回复: 3

求大神解答~!!!

[复制链接]
发表于 2016-3-28 17:25:28 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>
#include<math.h>
int compare(int b[],int n);
int main()
{
        int a[5],i,j;
        printf("input a[5]:\n");
        for(i=0;i<5;i++)
        {
                scanf("%d",&a[i]);
        }
        printf("output:\n");
        compare(a,5);
        for(i=0;i<5;i++)
        {
                printf("%d,",a[i]);
        }
        printf("\n");       
}

int compare(int b[],int n)
{
        int i,j,k,temp;
        for(i=0;i<n-1;i++)
        {
                k=i;
                for(j=i+1;j<n;j++)
                {
                        if(b[j]<b[k])
                                k=j;
                                temp=b[k];
                                b[k]=b[i];
                                b[i]=temp;       
                }
        }
}
为什么我输入 1 6 5 4 88 输出却是1 5 6 4 88???求大神解答啊 啊啊 ~~!
MIM}E1}M{4{}RC{2VG}J9JU.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-3-28 17:52:58 | 显示全部楼层
兄弟你写过多少C的程序啦。。。
if判断语句为什么不加{}呀
以后无论分支结构后面有一句也好,多句也好,都把{}加上
还有你的冒泡排序写的我不是很懂呀,多设一个变量k是干什么用的,直接用i不好么
  1. for(i=0;i<n-1;i++)
  2.     {
  3.         for(j=i+1;j<n;j++)
  4.         {
  5.             if(b[j]<b[i])
  6.             {
  7.                 temp=b[i];
  8.                 b[i]=b[j];
  9.                 b[j]=temp;
  10.              }
  11.         }
  12.     }
复制代码


还有compare(int b[],int n)这个函数明明没有返回值,为什么定义为int类型的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-28 19:04:52 | 显示全部楼层
shuofxz 发表于 2016-3-28 17:52
兄弟你写过多少C的程序啦。。。
if判断语句为什么不加{}呀
以后无论分支结构后面有一句也好,多句也好, ...

小弟刚学不久,用的是DEV X++ 只能设为INT不能用VOID的。。
对呀,好像没有这个K也行哦~~可是我的问题还没解决,,- -!! 怎么会输出这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-28 19:38:54 | 显示全部楼层
你真的有按照我说的改么=。=
我用的也是dev C++呀,改成void也没问题呀
我建议你还是先自己捋一遍到底哪错了,再看我的答案吧
  1. #include<stdio.h>
  2. #include<math.h>
  3. void compare(int b[],int n);
  4. int main()
  5. {
  6.         int a[5],i,j;
  7.         printf("input a[5]:\n");
  8.         for(i=0;i<5;i++)
  9.         {
  10.                 scanf("%d",&a[i]);
  11.         }
  12.         printf("output:\n");
  13.         compare(a,5);
  14.         for(i=0;i<5;i++)
  15.         {
  16.                 printf("%d,",a[i]);
  17.         }
  18.         printf("\n");        
  19. }

  20. void compare(int b[],int n)
  21. {
  22.         int i,j,temp;
  23.         for(i=0;i<n-1;i++)
  24.         {
  25.                 for(j=i+1;j<n;j++)
  26.                 {
  27.                         if(b[j]<b[i])
  28.                         {                     
  29.                                 temp=b[j];
  30.                                 b[j]=b[i];
  31.                                 b[i]=temp;
  32.                         }
  33.                 }
  34.         }
  35. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 08:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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