c语言while编写字符数组,编写程序,输入两个字符串存入数组a和数组b中,判断数组b中字符串是否在数组a字符串中出现(称为子串)。...

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

moonguy012

推荐于 2016.10.30

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:46%    等级:9

已帮助:370人

#include

#define MAXLINE 100

int strindex(char source[ ], char searchfor[ ]);

char pattern[] = "ould"; /*要查找的模式*/

/* 找出所有与模式匹配的行*/

int main (void)

{

char *line[MAXLINE] = {

"How could you do that!",

"You cann't do that!",

"Would you like to do that?",

"No, I don't.",

NULL

};

int i = 0;

while (line[i])

if ( strindex(line[i++], pattern) >= 0 ) {

printf( "Yes\n");

}

else

printf ("No\n");

return 0;

}

/* strindex:返回t在s中的位置,若未找到则返回-1 */

int strindex(char s[], char t[] )

{

int i, j, k;

for ( i = 0; s[i] != '\0'; i++ ) {

/*这一行是关键,找到第一个字母后继续向后遍历到t末尾结束*/

for ( j =i, k = 0; t[k] != '\0' && s[j] ==t[k]; j++, k++ )

;

if ( k > 0 && t[k] == '\0' )

return i;

}

return -1;

}追问: 高手 的确是高手 我这个才学到 数组 有些函数看不懂啊 有没有适合我这水平的?

追答:如果没学指针,那么测试用的字符串就用char a[MAX]; scanf("%s", a);这种方式读入。

关键的查找子串其实就用了数组前面的知识阿,都没有用指针,仔细理解一下,你肯定能明白的。

追问: 好的好的 谢谢您的帮助啊!!!

追答:怎么没消息了?没有追问也没有采纳?

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值