写一个程序,其命令行包括一个字符串参数s,运行中由标准输入读入一系列正文行.
写一个程序,其命令行包括一个字符串参数s,运行中由标准输入读入一系列正文行。该程序把所有输入行依次输出,并在那些包含字符串S的行前面标一个星号...
写一个程序,其命令行包括一个字符串参数s,运行中由标准输入读入一系列正文行。该程序把所有输入行依次输出,并在那些包含字符串S的行前面标一个星号
展开
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE (20)
int search2(char ch[],char s[])
{
int i,length,length2;
length = strlen(s);
length2 = strlen(ch);
if(length > length2)
return 0;
for(i = 0; i <= (length2-length); i++)
{
if(strncmp(ch+i,s,length) == 0)
return 1;
}
return 0;
}
int main(int argc, char *argv[])
{
int i,num;
char s[SIZE];
char ch[SIZE][SIZE];
strcpy(s,argv[1]);
printf("请输入字符串,以:exit 结束\n");
for(i = 0; i < SIZE; i++)
{
scanf("%s",ch[i]);
if(strcmp(ch[i],"exit") == 0)
{
printf("******输入结束!*****\n");
break;
}
}
for(i = 0; i < SIZE; i++)
{
if((num=search2(ch[i],s)) == 1)
printf("*");
printf("%s\n",ch[i]);
if(strcmp(ch[i],"exit") == 0)
break;
}
return 0;
}
可以实现功能,调试通过,运行时需要参数,输入数据时当输入为:exit 时则停止输入。
#include <stdlib.h>
#include <string.h>
#define SIZE (20)
int search2(char ch[],char s[])
{
int i,length,length2;
length = strlen(s);
length2 = strlen(ch);
if(length > length2)
return 0;
for(i = 0; i <= (length2-length); i++)
{
if(strncmp(ch+i,s,length) == 0)
return 1;
}
return 0;
}
int main(int argc, char *argv[])
{
int i,num;
char s[SIZE];
char ch[SIZE][SIZE];
strcpy(s,argv[1]);
printf("请输入字符串,以:exit 结束\n");
for(i = 0; i < SIZE; i++)
{
scanf("%s",ch[i]);
if(strcmp(ch[i],"exit") == 0)
{
printf("******输入结束!*****\n");
break;
}
}
for(i = 0; i < SIZE; i++)
{
if((num=search2(ch[i],s)) == 1)
printf("*");
printf("%s\n",ch[i]);
if(strcmp(ch[i],"exit") == 0)
break;
}
return 0;
}
可以实现功能,调试通过,运行时需要参数,输入数据时当输入为:exit 时则停止输入。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询