解题思路:不够则添加,多了则删除,不同则修改,相同则排开;
注意事项:注意字符之间的关系;
参考代码:
#include <stdio.h> #include <string.h> #include <math.h> int main() { char arr[200],brr[200]; gets(arr); gets(brr); int n,_n,i,j,min,k=0; n=strlen(arr);//arr的长度 _n=strlen(brr); //brr的长度 if(n>_n)//找出最小那个, min=_n; else min=n; for(i=0;i<n;++i)// { for(j=0;j<_n;++j) { if(arr[i]==brr[j]) { k++;//统计相同的个数 arr[i]=brr[j]=0;//已经统计过了,赋值为NULL,以不影响后续判断 } } } printf("%d",abs(n-_n)+min-k);//结果为(需要删除或插入)两字符串个数的差值(绝对值),(修改)加上不同的字符个数; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:739 |
Biggest Number (C++代码)回溯法浏览:1614 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1176 |
sizeof的大作用 (C语言代码)浏览:1452 |
分糖果 (C语言代码)浏览:920 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:535 |
拆分位数 (C语言代码)浏览:522 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:532 |
A+B for Input-Output Practice (I) (C语言代码)浏览:574 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:440 |