对两组用户输入的字符串进行比较(长度自定),输出相 同字符数。

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;
}

猜你喜欢

转载自blog.csdn.net/song91425/article/details/79686475
今日推荐