串实验 帮忙改一下下面的程序

[复制链接]
查看11 | 回复1 | 2010-7-8 14:24:38 | 显示全部楼层 |阅读模式
串实验 帮忙改一下下面的程序

#include"stdio.h"
#include"string.h"
int x,y;
intdingwei(char s1[],char s2[]);//定位函数
{
int i,j,k;
i=0;j=0;
while(i<x&&j<y);//i,j分别来控制s1,s2数组中字符的位置
{
if(s1==s2[j])//如果二者相等,则比较2个数组的下一位
{

i++;j++;
}

else {

i=i-j+1;j=0;
};//不相等j置数为0,i从i-j+1开始

}

if(s2[y-1]==s1[i-1]&&j==y)
return i-j+1;// 比较完后,输出比较结果
else return 0;
}
int lianjie(char s1[],char s2[])
{
int i,j,k;

char s3[50];//定义一个数组来存放s1,s2连接后的字符串

i=0;j=0;

while(s1!=0)

{
s3=s1;

i++; //依次将s1中的字符串输入到s3中
}
while(s2[j]!=0)

{
s3=s2[j];//将s2中的字符串紧接着传送到s3中

i++;j++;
}

s3=0;

puts(s3);//输出连接完成后的结果
}
int main()
{

char s1[50],s2[50];

int i,j,k;

printf("\t\t串的基本操作");

printf("\n\t输入主字符串:");

gets(s1);//输入语句
x=strlen(s1);//计算s1的长度


printf("\n\t输入子字符串:");

gets(s2);

y=strlen(s2);


k=dingwei(s1,s2);//调用定位函数


printf("\n\t定位结果:");//输出定位结果

if(k) printf("\t%d",k);

else printf("不存在从属关系");


printf("\n\t字符串相连:");

lianjie(s1,s2);//调用连接函数,将字符串连接
getchar();
希望可以改正并且自己运行一下,一定要可以运行,最好是将改正好的程序也发给我,我的邮箱是[email protected],在五点钟以前,如果满意,还可以加悬赏分哦

回复

使用道具 举报

千问 | 2010-7-8 14:24:38 | 显示全部楼层
intdingwei(char s1[],char s2[]);//定位函数{int i,j,k;i=0;j=0;while(i<x&&j<y);//i,j分别来控制s1,s2数组中字符的位置
{ while(s1==s2[j])//如果二者相等,则比较2个数组的下一位 {
i++;j++; }
else {
i=i-j+1;j=0;
};//不相等j置数为0,i从i-j+1开始
}
if(s2[y-1]==s1[i-1]&&j==y)
return i-j+1;// 比较完后,输出比较
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行