| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1830 人关注过本帖
标题:新手求助共同的前缀
取消只看楼主 加入收藏
o670783915
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-10-22
结帖率:33.33%
收藏
 问题点数:0 回复次数:2 
新手求助共同的前缀
Description
给你K个字符串,请求出它们的最长公共前缀。输入第一行是一个整数N,表示测试样例的个数。每个测试样例的第一行是一个整数K(2 <= k <= 20),表示有多少个字符串;以后每行是一个字符串,每个字符串的长度不超过200个字符。 输出每行输出一个样例的结果。先输出“Case #: ”,其中’#’为样例的序号(从1开始),冒号为英文冒号,后接一个空格;然后是对应样例的结果。如果没有公共前缀,则无需输出前缀,但Case信息仍需要输出。  
  
Sample Input  
2
3
ACD
ACDEF
ACDFE
2
ABC
BCD
 
能不能就告诉我算法或思想就行,谢谢。
搜索更多相关主题的帖子: 字符串 英文 信息 
2015-10-22 10:40
o670783915
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-10-22
收藏
得分:0 
回复 2楼 frognidie
大哥,我不会用字符串数组
能给点代码吗,谢谢
2015-10-22 11:37
o670783915
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-10-22
收藏
得分:0 
回复 3楼 o670783915
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int a,x;
    int n,i,j,y;
    int d=0;
    char s[21],f[21];
    scanf("%d",&n);
    for (x=0;x<n;x++)
    {
        d++;

        scanf("%d ",a);
        gets(s);
        getchar();
        for (i=0;i<a-1;i++)
        {
            gets(f);
            y = strlen(s);
            for (j=0;j<y;j++)
            {
                if (s[j]!=f[j])
                {
                    s[j] = 0;
                }
            }
        }
        printf("Case %d: ",d);
        for (i=0;s[i]==0;i++)
        {
            printf("%c",s[i]);
        }

    }

    return 0;
}
我表示我的代码不成熟,看了大神的才知道。。。。
那为什么我的会错
2015-10-22 17:13
快速回复:新手求助共同的前缀
数据加载中...
 
   



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

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