标题:又出错了,唉
只看楼主
caiznen
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-11-25
 问题点数:0 回复次数:6 
又出错了,唉
将输入的10个字符由小到打顺序排列
#include <stdio.h>
void main()
{
    void hs(char x[10]);
    char a[10];
    int k;
    for (k=0;k<=9;k++)
        scanf("%c",&a[k]);
    hs(a);
    for (k=0;k<=9;k++)
    printf("%c ",a[k]);
         printf("\n");
}
void hs(char x[10])
{
    int i,j;
    char y;
    for (i=0;i<=9;i++)
        for (j=i;j<=9;j++)
        {
            if (x[i]>x[j])
            {
                y=x[i];
                x[i]=x[j];
                x[j]=y;
            }
        }
}

[[it] 本帖最后由 caiznen 于 2008-11-25 22:47 编辑 [/it]]
搜索更多相关主题的帖子: c语言 纠错 
2008-11-25 22:37
dillon
Rank: 1
等 级:新手上路
威 望:2
帖 子:183
专家分:0
注 册:2008-10-6
得分:0 
鉴定完毕 没错!
2008-11-25 22:40
tangname
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2008-11-12
得分:0 
这个貌似要用到指针才可以吧
2008-11-25 22:44
caiznen
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-11-25
得分:0 
没有
只是函数的而已,还没教指针呢
运行的时候只能输入5个字符啊,为什么呢
2008-11-25 22:45
dillon
Rank: 1
等 级:新手上路
威 望:2
帖 子:183
专家分:0
注 册:2008-10-6
得分:0 
不是吧 。程序没错
2008-11-25 22:56
pvoc
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-26
得分:0 
回复 楼主 caiznen 的帖子
for (k=0;k<=9;k++)
        scanf("%c",&a[k]);
你在用scanf("%c",&a[k]);函数输入字符时,字符之间不能有空格、回车换行符等,不然它会把空格、回车换行符读入进去。简单的说,这时%c对所有输入的字符都是平等的。
2008-11-26 02:14
caiznen
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-11-25
得分:0 
知道了,谢谢啊
2008-11-26 12:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-246239-1-1.html




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

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