1 解题思路:首先找出字符串a和b相同的字符,保存在字符串c中,然后再与c为标准,统计出现的字符的个数。
#include <stdio.h>
#include <string.h>
int main(){
char a[101],b[101],i;
char c[101];
int j,g;
printf("Input 2 strings...\n");
scanf("%100s%100s",a,b);//输入字符串并限制长度
int k =0 ;
for(i=0;i<strlen(a)||i<strlen(b);i++){
if(strchr(a,b[i])){//判断b中第i个字符,在a中是否存在,若是存在则继续判断c是否已经存在该字符若是存在,
//则b[i]不放入c[k]中,i=0,直接对c初始化,
if(i==0){
c[k++]=b[i];
}
else if(!strchr(c,b[i])){
c[k]=b[i]; k++;
}
}
}
int d[k+1];
for(i=0;i<k;i++){
d[i]=0;
printf("%c",c[i]);
}
printf("\n");
for(j=0;j<k;j++){
//先统计在字符串a中出现的,在统计在b中出现的
for(g = 0;g<strlen(a);g++){
if(a[g] == c[j]){
d[j]+=1;
}
}
for(g = 0;g<strlen(b);g++){
if(b[g]== c[j]){
d[j]+=1;
}
}
}
for(j=0;j<k;j++){
printf("%c=%d,",c[j],d[j]);
}
return 0;
}