| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 914 人关注过本帖
标题:求助啊,能帮我看看那里出了问题了?
只看楼主 加入收藏
现龙
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-3-28
结帖率:80%
收藏
已结贴  问题点数:5 回复次数:11 
求助啊,能帮我看看那里出了问题了?
题目是:写一函数用起泡法对输入的个字符按由小到大的顺序排列

#include "stdio.h"
char paixu(char a[10])
{
    int i,j,b;
    for(i=0;i<10;i++);
    for(j=0;j<9-i;j++);
    {
        if(a[i]>a[i+1])
    {
        b=a[i];
        a[i]=a[i+1];
        a[i+1]=b;
    }
    }
    for(i=0;i<10;i++)
    printf("%c ",a[i]);
}
void main()
{
 char a[10];
 gets(a);
 paixu(a[10]);
}

刚学c语言,有很多都不熟悉,请大家指教
搜索更多相关主题的帖子: 函数 include 
2010-04-27 21:06
现龙
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-3-28
收藏
得分:0 
等待
2010-04-27 21:17
现龙
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-3-28
收藏
得分:0 
改成这样了:
#include "stdio.h"
int paixu(int a[10])
{
    int i,j,b;
    for(i=0;i<10;i++);
    for(j=0;j<=9-i;j++);
        if(a[i]>a[i+1])
    {
        b=a[i];
        a[i]=a[i+1];
        a[i+1]=b;
    }

}
void main()
{
int a[10];
 int i;
 for(i=0;i<10;i++)
 scanf("%d",&a[i]);
 paixu(a);
       for(i=0;i<10;i++)
    printf("%d ",a[i]);
}
2010-04-27 21:25
NOMIPS
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:86
专家分:537
注 册:2010-3-31
收藏
得分:1 
你的for后面多了个分号,而且算法也不正确。

#include "stdio.h"
void paixu(int a[]);

void paixu(int a[])
{
    int i,j,b;
    for(i=0;i<9;i++)
    for(j=0;j<10-i-1;j++)
    {
        if(a[j]>a[j+1])
        {
        b=a[j+1];
        a[j+1]=a[j];
        a[j]=b;
        }
    }
    for(i=0;i<10;i++)
    printf("%d\n",a[i]);
}

int main()
{
int a[10];
int i;
//gets(a);
printf("please input 10 members of array a:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
paixu(a);
return 0;
}
2010-04-27 21:46
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:1 
for(i=0;i<10;i++);
    for(j=0;j<9-i;j++);
晕,这个后面还要加分号的吗,而且。。。。。。。。。
2010-04-27 21:53
Celavia
Rank: 2
等 级:论坛游民
帖 子:34
专家分:34
注 册:2010-3-18
收藏
得分:0 
回复 4楼 NOMIPS
//gets(a);
是什么意思?
2010-04-27 21:54
上官竹嫣
该用户已被删除
收藏
得分:1 
回复 6楼 Celavia
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-27 22:02
现龙
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-3-28
收藏
得分:0 
回复 5楼 zhanfffmmm
都说是菜鸟!
2010-04-27 22:06
上官竹嫣
该用户已被删除
收藏
得分:1 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-27 22:09
zjhwade
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2010-4-21
收藏
得分:1 
#include "stdio.h"
#define n 10
char paixu(char a[n])
{
    int i,j,b;
    for(i=0;i<n;i++)
    for(j=0;j<n-i;j++)
    {
        if(a[i]>a[i+1])
        {
            b=a[j];
        a[j]=a[j+1];
        a[j+1]=b;
        }
   
    }
puts(a);
 return 0;  
}
void main()
{
char a[n];
gets(a);
paixu(a);
}


同意楼上的。
你的循环里有错误,可以随便举个例子试一下,
我觉得,刚开始编的话,多举实例验证是个很好的方法。

还有一点,你那个paixu()这个函数在调用的时候有错误,数组传递给函数的是数组的首地址,并不是具体的函数值!

[ 本帖最后由 zjhwade 于 2010-4-27 22:17 编辑 ]
2010-04-27 22:15
快速回复:求助啊,能帮我看看那里出了问题了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018394 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved