-1

このプログラムは、文字列の数の後に実際の文字列を入力します。出力は、すべての文字列に共通する文字の数である必要があります。

制約は次のとおりです。

  1. 文字列の数 <= 100
  2. 文字列の長さ <= 100

例えば..

入力:

3 abc bcd cde

出力:

1

すべての文字列に共通するのはcだけです。

小さな入力で使用すると、適切な出力が得られます。

ただし、次のような大きな文字列で使用すると:

19 ではなく 58 という間違った出力が得られます。

これは私のコードです:

#include<stdio.h>
#include<string.h> 

void main(){
    int n,i,j,count=0;
    char s[100][100];
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%s",s[i]);
    }
    int t;
    int l = strlen(s[0]);
    for(i=0;i<l;i++){
        t=0;
        for(j=1;j<n;j++){
            if(strchr(s[j],s[0][i])!='\0'){
                t++;
            }
        }
        if(t==n-1)
            count++;
    }
    printf("%d",count);
}
4

1 に答える 1