| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 340 人关注过本帖
标题:这是一个对输入字符串排序的问题
只看楼主 加入收藏
wangbin371
Rank: 2
等 级:论坛游民
帖 子:9
专家分:13
注 册:2013-10-7
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
这是一个对输入字符串排序的问题
应该是输入有点问题,因为直接对指针数组char*s[5]直接初始化赋值是可以运行的,但调用输入函数就出现问题了
//用指针对输入字符串进行排序
#include<stdio.h>
#include<string.h>
void input(char*p[],int n);
void range(char*p[],int n);
void output(char*p[],int n);
void main()
{
//    char *s[]={"pascl","basic","cobol","prolog","lisp"};
    char *s[5];
    input(s,5);
    range(s,5);
    output(s,5);
}
//输入函数
void input(char*p[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        scanf("%s",p[i]);//p是指向字符数组的指针,*p是指向数组的第一个元素的指针
    }
}
//排序函数
void range(char*p[],int n)
{
    int i,j;
    char *temp;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(strcmp(p[i],p[j])>0)
            {
                temp=p[i];
                p[i]=p[j];
                p[j]=temp;
            }
        }
    }

}
//输出函数
void output(char*p[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        puts(p[i]);
    }
}
搜索更多相关主题的帖子: 字符串 include 
2013-10-18 12:45
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:10 
char *s[5];   这是指针数组,里面存放了5个指针,每个指针初始化,没有内存空间,scanf("%s",p[i]); 就会出问题。

总有那身价贱的人给作业贴回复完整的代码
2013-10-18 12:59
wangbin371
Rank: 2
等 级:论坛游民
帖 子:9
专家分:13
注 册:2013-10-7
收藏
得分:0 
回复 2楼 embed_xuel
那应该怎样改呀?
2013-10-18 17:19
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
程序代码:
void main()
{
//    char *s[]={"pascl","basic","cobol","prolog","lisp"};
    char *s[5];
    for(int i=0;i<5;i++)
    {
        s[i]=(char*)malloc(256);     //给字符串开辟内存空间,本例中只能接受最大长度为256的字符串
        memset(s[i],0,sizeof(s[i]));  //初始化为 0
    }

    input(s,5);
    range(s,5);
    output(s,5);
}


尝试修改一下主函数

DO IT YOURSELF !
2013-10-18 17:29
wangbin371
Rank: 2
等 级:论坛游民
帖 子:9
专家分:13
注 册:2013-10-7
收藏
得分:0 
回复 4楼 wp231957
强大,THX
2013-10-18 17:46
快速回复:这是一个对输入字符串排序的问题
数据加载中...
 
   



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

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