| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1834 人关注过本帖
标题:刚学c,按课本要求问题写了程序,但不对,求大神指点
取消只看楼主 加入收藏
歪鼻子
Rank: 1
来 自:中国
等 级:新手上路
帖 子:18
专家分:2
注 册:2015-8-6
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
刚学c,按课本要求问题写了程序,但不对,求大神指点
/*  公共子序列 */
#include<stdio.h>
#include<string.h>
int A(char r[],char t[])

int main()
{
 char s1[100],s2[100],t[20];
 int n;
 printf("请输入珠串一:");
 gets(s1);
 printf("请输入主串二:");
 gets(s2);
 printf("请输入模式:");
 gets(t);
 n=A(s1,t)+A(s2,t);
 if(n==0)
 printf("%s是公共子序列",t);
 else
 printf("%s不是公共子序列",t);
 return 0;
}

int A(char r[],char t[])
{
 int i=0, j=0, p=0, k=strlen(r), l=strlen(t);
 for(;i<l;i++)
 {
  for(;j<k;j++)
  {
   if(t[i]==r[j])
   {
    i++;
    j++;
    p++;
    break;
   }
   else
   j++;
  }
 }
 if(p==l)
 return 0;
 else
 return 1;
}



错误 noname.c 6: 说明语法错误
2015-08-10 19:13
歪鼻子
Rank: 1
来 自:中国
等 级:新手上路
帖 子:18
专家分:2
注 册:2015-8-6
收藏
得分:0 
回复 楼主 歪鼻子
求路过大神指点!!!!!!!!

谁抢了我的---"哈哈怪" !!!
2015-08-10 19:34
歪鼻子
Rank: 1
来 自:中国
等 级:新手上路
帖 子:18
专家分:2
注 册:2015-8-6
收藏
得分:0 
回复 3楼 诸葛欧阳
就是求一个字段是否为另两个字段的公共部分
比如:
a:哈尔滨大学 b:哈尔滨工业大学
c:哈工大
C就是a与b的公共子序列

谁抢了我的---"哈哈怪" !!!
2015-08-10 19:41
歪鼻子
Rank: 1
来 自:中国
等 级:新手上路
帖 子:18
专家分:2
注 册:2015-8-6
收藏
得分:0 
唉,慢慢学习吧.

谁抢了我的---"哈哈怪" !!!
2015-08-10 19:58
歪鼻子
Rank: 1
来 自:中国
等 级:新手上路
帖 子:18
专家分:2
注 册:2015-8-6
收藏
得分:0 
回复 8楼 诸葛欧阳
是啊,我的程序不就是这个意思么?为什么编译系统提示我的主函数说明错误?
求指点。

谁抢了我的---"哈哈怪" !!!
2015-08-10 20:27
歪鼻子
Rank: 1
来 自:中国
等 级:新手上路
帖 子:18
专家分:2
注 册:2015-8-6
收藏
得分:0 
谢谢各位大神,找到错了。

谁抢了我的---"哈哈怪" !!!
2015-08-11 10:01
歪鼻子
Rank: 1
来 自:中国
等 级:新手上路
帖 子:18
专家分:2
注 册:2015-8-6
收藏
得分:0 
改完了,谢谢各位大神的帮助。
/*  公共子序列 */
#include<stdio.h>
#include<string.h>
int A(char r[],char t[]);


int main()
{
 char s1[100],s2[100],t[20];
 int n;
 printf("请输入主串一:");
 gets(s1);
 printf("请输入主串二:");
 gets(s2);
 printf("请输入模式:");
 gets(t);
 n=A(s1,t)+A(s2,t);
 if(n==0)
 printf("%s是公共子序列",t);
 else
 printf("%s不是公共子序列",t);
 return 0;
}

int A(char r[],char t[])
{
 int i=0, j=0, p=0, k=strlen(r), l=strlen(t);
 for(;i<l;i++)
 {
  for(;j<k;j++)
  {
   if(t[i]==r[j])
   {
    p++;
    j++;
    break;
   }
  }
   if(j==k)
    break;
 }
 if(p==l)
 return 0;
 else
 return 1;
}

谁抢了我的---"哈哈怪" !!!
2015-08-11 12:18
快速回复:刚学c,按课本要求问题写了程序,但不对,求大神指点
数据加载中...
 
   



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

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