字符判斷
題目描述
判斷字符串b的所有字符是否都在字符串a中出現過,a、b都是可能包含漢字的字符串。b中重複出現的漢字,那麼a中也要至少重複相同的次數。漢字使用gbk編碼(簡單的說,用兩個字節表示一個漢字,高字節最高位爲1的代表漢字,低字節最高位可以不爲1)。
int is_include(char *a, char *b);
返回0表示沒有都出現過,返回1表示都出現過。
請設計一個算法。
輸入
字符串a\n字符串b |
樣例輸入
aaaabbbcccdddss abc |
輸出
0或者1 |
樣例輸出
1 |
時間限制C/C++語言:1000MS其它語言:3000MS
|
內存限制C/C++語言:65536KB其它語言:589824KB
|
C語言程序實現如下:
#include <stdio.h>
#include <stdlib.h>
int is_include(char *a,char *b)
{
int i=0,j=0,flag;
while(a[i]!='\0')
{
flag=0;
if(a[i]==b[j])
{
flag=1;
j++;
if(b[j]=='\0')
return 1;
}
i++;
if(flag==1)
i=0;
}
return 0;
}
int main()
{
int a[100],b[100];
gets(a);
gets(b);
printf("%d\n",is_include(a,b));
return 0;
}
以上代碼可能存在一些冗餘的部分,沒有進行修改,如果需要可以自行拷貝和修改。