給你個類似的。。。你小改下,就應該可以了。希望對你有幫助
/*編寫一個函式,該函式可以統計一個長度為2的字串在另一個字串中出現的次數。
例如,假定輸入的字串為:asd asasdfg asd as zx67 asd mklo,
子字串為:as,則應輸出6。
[程式分析]
由於小串中只有2個字元所以可用str[i]==sbustr[0]&&str[i+1]==substr[1]來判斷小串是否與長串當前位置(str[i])相同(即出現一次)。
因而只要讓長串當前位置逐一向後移即可(用for()迴圈來完成)
*/
//[源程式]
#include “stdio。h”
#include “string。h”
#include “conio。h”
int fun(char *str,char *substr)
{ int i,n=0,s=strlen(str);
for(i=0;i
if((str[i]==substr[0])&&(str[i+1]==substr[1]))
n++;
return n;
}
main()
{
char str[81],substr[3];
int n;
printf(“輸入的字串:”);
gets(str);
printf(“子字串:”);
gets(substr);
puts (str);
puts(substr);
n=fun(str,substr);
printf(“n=%d\n”,n)
}
/*******************************************************************************************************/
按你的意思我改了下呼叫函數里的
int fun(char *str,char *substr)
{
int i,j,n=0,s=strlen(str),m=strlen(substr),pan=1;
printf(“%d\n”,m);
for(i=0;i
{ pan=1;
for(j=0;j if((str[i+j]!=substr[j]))//這是進行比較,不是跳出 {pan=0; break;} if(pan) n++; } return n; }