如题所述
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main(void)
{
char txt[20][100] = {"0"};
char str[100] = {"0"};
int n = 0, i = 0;
printf("please input the number of lines:\n"); // 输入你要输入的行数
scanf("%d",&n);
printf("please input %d lines text:\n",n); // 输入你说的若干行文本
for (i = 0; i < n; i++) {
scanf("%s",txt[i]);
}
printf("please input the string:\n"); // 输入要匹配的字符串
scanf("%s",str);
for (i = 0; i < n; i++) {
if (strstr(txt[i],str))
printf("%s\n",txt[i]);
}
getch();
return 0;
}追问
#include <stdio.h> // 标准输入输出,即printf和scanf
#include <conio.h> // 包含getch()函数
#include <stdlib.h> // 这个这里应该没用到
这几个是常用的头文件,平时写代码基本都会用到所以我就都加着
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main(void)
{
char txt[20][100] = {"0"};
char str[100] = {"0"};
int n = 0, i = 0;
printf("please input the number of lines:\n"); // 输入你要输入的行数
scanf("%d",&n);
printf("please input %d lines text:\n",n); // 输入你说的若干行文本
for (i = 0; i < n; i++) {
scanf("%s",txt[i]);
}
printf("please input the string:\n"); // 输入要匹配的字符串
scanf("%s",str);
for (i = 0; i < n; i++) {
if (strstr(txt[i],str))
printf("%s\n",txt[i]);
}
getch();
return 0;
}追问
能不能按照我的思路来,我想用一个二维数组一行来来存放文本,另外一行存放行数,你写的我目前还没学那么多,看不太懂,
追答我写的就是二维数组的啊,那里看不懂,还有你说的二维数组一行存放文本,另外一行存放函数这不对,你理解错了,二维数组指的是列数为2不是行数为2,行数可以为任意行,
追问对,我说错了,就是看不太懂开头的头文件
追答#include <string.h> // 包含strstr函数#include <stdio.h> // 标准输入输出,即printf和scanf
#include <conio.h> // 包含getch()函数
#include <stdlib.h> // 这个这里应该没用到
这几个是常用的头文件,平时写代码基本都会用到所以我就都加着
温馨提示:答案为网友推荐,仅供参考