早教吧作业答案频道 -->其他-->
2、编写函数求字符串的子串,在主函数中输入子串作为参数,字符串长度不超过255.例如:由键盘依次输入字符串为WhatisbusNamesomebuses.LocalbusisahighspeedI/Obusclosetotheprocesser.主函数接收
题目详情
2、 编写函数求字符串的子串,在主函数中输入子串作为参数,字符串长度不超过255.
例如:由键盘依次输入字符串为 What is bus Name some buses.Local bus is a high speed I/O bus close to the processer.
主函数接收子串参数为" bus",子函数查找字符串中” bus”出现的次数返回给主函数.(不允许使用库函数substr)
例如:由键盘依次输入字符串为 What is bus Name some buses.Local bus is a high speed I/O bus close to the processer.
主函数接收子串参数为" bus",子函数查找字符串中” bus”出现的次数返回给主函数.(不允许使用库函数substr)
▼优质解答
答案和解析
int substr1(char *str,char *sub)
{
int lenstr = strlen(str);
int lensub = strlen(sub);
int count = 0;
for (int i = 0; i < lenstr; i++)
{
if (str[i] == sub[0])
{
int j = 0;
for (; j < lensub; j++)
{
if (str[i + j] != sub[j])
break;
}
if (j == lensub)
{
count++;
i+=(j - 1);
}
}
}
return count;
}
int main(int argc,_TCHAR* argv[])
{
char str[255] = { 0 };// "What is bus Name some buses.Local bus is a high speed I/O bus close to the processer.";
printf("input string\n");
gets(str);
printf("input sub string\n");
char sub[255] = { 0 };
gets(sub);
printf("sub string appera %d times!\n",substr1(str,sub));
return 0;
}
{
int lenstr = strlen(str);
int lensub = strlen(sub);
int count = 0;
for (int i = 0; i < lenstr; i++)
{
if (str[i] == sub[0])
{
int j = 0;
for (; j < lensub; j++)
{
if (str[i + j] != sub[j])
break;
}
if (j == lensub)
{
count++;
i+=(j - 1);
}
}
}
return count;
}
int main(int argc,_TCHAR* argv[])
{
char str[255] = { 0 };// "What is bus Name some buses.Local bus is a high speed I/O bus close to the processer.";
printf("input string\n");
gets(str);
printf("input sub string\n");
char sub[255] = { 0 };
gets(sub);
printf("sub string appera %d times!\n",substr1(str,sub));
return 0;
}
看了 2、编写函数求字符串的子串,...的网友还看了以下:
下面的程序用来从键盘重复接收一字符送BUFF开始的单元,直到接收到行结束 标志ODH。在程序中 2020-05-23 …
c语言程序征求:每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别 2020-06-26 …
普通英文打字机可不可以打蜡纸,用来油印?以下是该打字机的说明名称:长空牌英文打字机310厂家:上海 2020-07-09 …
(shift+数字键6打出来的那个符号) 2020-07-28 …
关于符号在我们使用的打字键盘中,尤其是在解答数学时用到的"^"和"*"符号分别代表什么意思 2020-11-18 …
通信原理.一部电话机键盘上有10个数字键(0~9).设发送数字1的概率为0.3,发送数字3和8的概率 2020-12-17 …
先动手试一试,再回答.(1)输入数字9用到数字键,清除9用到什么键?(2)输入“2+3=”时,除了用 2020-12-26 …
先动手试一试,再回答.(1)输入数字9用到数字键,清除9用到什么键?(2)输入“2+3=”时,除了用 2020-12-26 …
先动手试一试,再回答.(1)输入数字9用到数字键,清除9用到什么键?(2)输入“2+3=”时,除了用 2020-12-26 …
往下看、已知,数字键“2”的上档字符为“@”。当CapsLock灯亮时,敲字母键“A”和数字键“2” 2021-01-01 …