賽碼網,字符判斷問題,用C語言自己實現的一個程序,僅供參考

字符判斷
 題目描述
									

  判斷字符串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;
}

以上代碼可能存在一些冗餘的部分,沒有進行修改,如果需要可以自行拷貝和修改。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章