このプログラムは、文字列の数の後に実際の文字列を入力します。出力は、すべての文字列に共通する文字の数である必要があります。
制約は次のとおりです。
- 文字列の数 <= 100
- 文字列の長さ <= 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);
}