解题思路:不够则添加,多了则删除,不同则修改,相同则排开;
注意事项:注意字符之间的关系;
参考代码:
#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语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:507 |
点我有惊喜!你懂得!浏览:4110 |
兰顿蚂蚁 (C++代码)浏览:1113 |
数组输出 (C语言代码)错误???浏览:572 |
输出正反三角形 (C语言代码)浏览:796 |
C语言程序设计教程(第三版)课后习题6.8 (C++代码)浏览:592 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:648 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:476 |
A+B for Input-Output Practice (III) (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:515 |