| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 837 人关注过本帖
标题:字符串排序的问题
只看楼主 加入收藏
空想家
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2016-5-5
结帖率:0
收藏
 问题点数:0 回复次数:6 
字符串排序的问题
问题是“在主函数中输入10个等长的字符。用另一函数对它们排序。然后在主函数输出这10个已排好的字符串”
程序应该是这样的
图片附件: 游客没有浏览图片的权限,请 登录注册

想把题目中的10改成n,然而我编成这样,老是错,不知道错在哪里
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2016-10-7 20:17编辑过]

搜索更多相关主题的帖子: 字符串 
2016-10-07 20:15
feiyue323
Rank: 2
等 级:论坛游民
威 望:1
帖 子:35
专家分:18
注 册:2016-9-16
收藏
得分:0 
怎么搞啊
发个复制版的
不要来截图

2016-10-07 20:37
空想家
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2016-5-5
收藏
得分:0 
回复 2楼 feiyue323
#include<stdio.h>
#include<string.h>
int main()
{
    void sort(char s[ ][6]);
    int i,n;
    printf("please input n specific value:\n");
    scanf("%d",&n);
    char str[n][6];
    printf("input n strings:\n");
    for(i=0;i<n;i++)
        scanf("%s",str[i]);
    sort(str);
    printf("now,the squence is :\n");
    for(i=0;i<n;i++)               
        printf("%s\n",str[i]);
    return 0;}
void sort(char s[n][6])
{
    int i,j;
    char *p,temp[n];
    p=temp;
    for(i=0;i<n-1;i++)              
        for(j=0;j<n-1-i;j++)
            if(strcmp(s[j],s[j+1])>0)
            {
                strcpy(p,s[j]);
                strcpy(s[j],s[+j+1]);
                strcpy(s[j+1],p);
            }
}
2016-10-07 20:44
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
收藏
得分:0 
#include<stdio.h>
#include<string.h>
#define NUM 50
int main()
{
    void sort(char s[ ][6],int);
    int i,n;
    printf("please input n specific value:\n");
    scanf("%d",&n);
    char str[NUM][6];   //数组长度是固定的,不能用变量来定义大小,只能预先分配一个比较大的空间
    printf("input n strings:\n");
    for(i=0;i<n;i++)
        scanf("%s",str[i]);
    sort(str,n);
    printf("now,the squence is :\n");
    for(i=0;i<n;i++)               
        printf("%s\n",str[i]);
    return 0;}
void sort(char s[][6],int n)
{
    int i,j;
    char *p,temp[6];  //temp用来临时存储字符串,大小和s[0]长度相同
    p=temp;
    for(i=0;i<n-1;i++)              
        for(j=0;j<n-1-i;j++)
            if(strcmp(s[j],s[j+1])>0)
            {
                strcpy(p,s[j]);
                strcpy(s[j],s[+j+1]);
                strcpy(s[j+1],p);
            }
}
2016-10-07 20:56
空想家
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2016-5-5
收藏
得分:0 
回复 4楼 word123
为什么第六行的括号中要有 int n什么意思?

[此贴子已经被作者于2016-10-7 21:23编辑过]

2016-10-07 21:10
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
收藏
得分:0 
回复 4楼 word123
哦,sort函数不是传了两个参数吗,后面那个是数组实际大小,
在main函数中声明的时候可以只声明类型int,   声明int n也可以啊。。
2016-10-07 21:25
简单世界基地
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-10-7
收藏
得分:0 
2016-10-07 21:47
快速回复:字符串排序的问题
数据加载中...
 
   



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

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