【C程序改错】功能:编写一个函数,该函数可以统计一个长度为3的字符串在另 一个字符串中出现的次数。
/*----------------------------------------------------------功能:编写一个函数,该函数可以统计一个长度为3的字...
/*----------------------------------------------------------
功能:编写一个函数,该函数可以统计一个长度为3的字符串在另
一个字符串中出现的次数。
例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo,字符
串为:asd,则应输出n=4。
------------------------------------------------------*/
#include<stdio.h>
#include<string.h>
#include<conio.h>
int fun(char *str,char *substr)
{
/**********FOUND**********/
unsigned int i,n=0
/**********FOUND**********/
for(i=0;i<=strlen(str);i++)
if((str[i]==substr[0])&&(str[i+1]==substr[1])&&(str[i+2]==substr[2]))
/**********FOUND**********/
++i;
return n;
}
main()
{
char str[81],substr[4];
int n;
printf("输入主字符串: ");
gets(str);
printf("输入子字符串: ");
gets(substr);
puts(str);
puts(substr);
n=fun(str,substr);
printf("n=%d\n",n);
} 展开
功能:编写一个函数,该函数可以统计一个长度为3的字符串在另
一个字符串中出现的次数。
例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo,字符
串为:asd,则应输出n=4。
------------------------------------------------------*/
#include<stdio.h>
#include<string.h>
#include<conio.h>
int fun(char *str,char *substr)
{
/**********FOUND**********/
unsigned int i,n=0
/**********FOUND**********/
for(i=0;i<=strlen(str);i++)
if((str[i]==substr[0])&&(str[i+1]==substr[1])&&(str[i+2]==substr[2]))
/**********FOUND**********/
++i;
return n;
}
main()
{
char str[81],substr[4];
int n;
printf("输入主字符串: ");
gets(str);
printf("输入子字符串: ");
gets(substr);
puts(str);
puts(substr);
n=fun(str,substr);
printf("n=%d\n",n);
} 展开
展开全部
for循环有问题,而且最后不应该是++i啊,应该是++n。
#include <stdio.h>
#include <string.h>
#include <conio.h>
int fun(char * str, char * substr)
{
unsigned int i, n = 0;
for(i = 0; i < strlen(str); i++)
if((str[i] == substr[0]) && (str[i + 1] == substr[1]) && (str[i + 2] == substr[2]))
++n;
return n;
}
int main(void)
{
char str[81], substr[4];
int n;
printf("输入主字符串: ");
gets(str);
printf("输入子字符串: ");
gets(substr);
puts(str);
puts(substr);
n = fun(str, substr);
printf("n = %d\n", n);
return 0;
}
展开全部
/*----------------------------------------------------------
功能:编写一个函数,该函数可以统计一个长度为3的字符串在另
一个字符串中出现的次数。
例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo,字符
串为:asd,则应输出n=4。
------------------------------------------------------*/
#include<stdio.h>
#include<string.h>
#include<conio.h>
int fun(char *str,char *substr)
{
/**********FOUND**********/
unsigned int i,n=0;
/**********FOUND**********/
for(i=0;i<strlen(str)-2;i++)
if((str[i]==substr[0])&&(str[i+1]==substr[1])&&(str[i+2]==substr[2]))
/**********FOUND**********/
++n;
return n;
}
main()
{
char str[81],substr[4];
int n;
printf("输入主字符串: ");
gets(str);
printf("输入子字符串: ");
gets(substr);
puts(str);
puts(substr);
n=fun(str,substr);
printf("n=%d\n",n);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
#include<conio.h>
int fun(char *str,char *substr)
{
/**********FOUND**********/
unsigned int i,n=0;
/**********FOUND**********/
for(i=0;i<=strlen(str)-2;i++)
if((str[i]==substr[0])&&(str[i+1]==substr[1])&&(str[i+2]==substr[2]))
/**********FOUND**********/
++n;
return n;
}
main()
{
char str[81],substr[4];
int n;
printf("输入主字符串: ");
gets(str);
printf("输入子字符串: ");
gets(substr);
puts(str);
puts(substr);
n=fun(str,substr);
printf("n=%d\n",n);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/**********FOUND**********/
unsigned int i,n=0;
/**********FOUND**********/
for(i=0;i<strlen(str);i++)
if((str[i]==substr[0])&&(str[i+1]==substr[1])&&(str[i+2]==substr[2]))
/**********FOUND**********/
++n;
return n;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询