鱼C论坛

 找回密码
 立即注册
查看: 2772|回复: 5

我怎么找不到错在哪里?关于排序.

[复制链接]
发表于 2012-5-24 05:48:31 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 喜欢散步 于 2012-5-24 09:02 编辑

# include <stdio.h>
int main (void)
{
    void sort (int x[], int n);
    int a[10];
    int i, *p;  
    p = a;
    printf("\n请输入10个数:");

    for (;p < a + 10; ++p)
        scanf("%d", p);

    printf("\n排序后,从大到小输出是:");

    sort(a, 10);

    for (p = a; p < a+10; ++p)
        printf("%d  ", *p);

    return 0;
}



void sort (int x[], int n)
{
    int i, j, k, temp;        

    for (i = 0; i < n-1; ++i)
    {
        k = i;
        for(j = i+1; j < n; ++j)
        {
            if(x[i][i] < x[j])
                k = j;  
        }
        if(k!=i)   
        {
            temp = x[i][i];
            x[i] = x[k];
            x[k] = temp;
        }


    }

}
[/i][/i]
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-5-24 07:22:11 | 显示全部楼层
  if(x < x[j])

temp = x;
  x = x[k];
这几处能通过编译?
      
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-5-24 08:58:11 | 显示全部楼层
怎么发上来后就不一样了?

小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-5-24 09:03:46 | 显示全部楼层
if(x < x[j])

temp = x;
  x = x[k];

我发上来是x[i] < x[j]
temp = x[i];
x[i] = x[j];
x[j] = temp;的, 发上来中括号就不见了
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-6-1 22:19:46 | 显示全部楼层
如果是用VS作编译器的话。。写好代码,先按F7,没错后,就一直按F10...遇到自己定义的函数就按F11。。。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-6-2 00:01:22 | 显示全部楼层
如果其它的什么[]什么的都没问题的话,你可以试着改下k=i;的位置,个人觉的还漏了个大括号{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-13 11:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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