解题思路:将两行字符串相同的部分去除,剩下的两行字符串,哪个的字符数多,就以哪行的字符串数为操作次数(哈哈自己推下为什么)然后通过for循环比较a[i]b[i],要分开依次寻找出现重复的字符,统计sum。
注意事项:我是新手,没啥建议
参考代码:
#include <stdio.h>
#include <string.h>
int main()
{
int i=0,j=0,sum1=0,sum2=0;
char a[100];
char b[100];
gets(a);
gets(b);
int num1=strlen(a);
int num2=strlen(b);
for(i=0;i<num1;i++)
{
for(j=0;j<num2;j++)
{
if(a[i]==b[j])
{
sum1++;
break;
}
}
}
for(i=0;i<num2;i++)
{
for(j=0;j<num1;j++)
{
if(b[i]=a[j])
{
sum2++;
break;
}
}
}
int x1=num1-sum1;
int x2=num2-sum2;
if(x1<x2)
{
printf("%d",x2);
}
else
{
printf("%d",x1);
}
return 0;
}
0.0分
2 人评分
//没必要遍历两遍,一遍即可 //author:luoquancheng #include<stdio.h> #include<string.h> int main() { char ch1[200]; char ch2[200]; gets(ch1); gets(ch2); int len1 = strlen(ch1); int len2 = strlen(ch2); int same = 0, ans, max_len; max_len = len1 > len2 ? len1 : len2; int break_index = 0; //定义子串break的下一个比较位置 for (int i = 0; i < len1; i++) { for (int j = break_index; j < len2; j++) { if (ch1[i] == ch2[j]) { same++; break_index = j + 1; break; } } } ans = max_len - same; printf("%d", ans); return 0; }
uq_21644848742 2023-07-13 11:33:26 |
666
C语言训练-求函数值 (C语言代码)浏览:931 |
不容易系列2 (C语言代码)浏览:589 |
蛇行矩阵 (C语言代码)浏览:742 |
简单的a+b (C语言代码)浏览:414 |
【偶数求和】 (C语言代码)浏览:430 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:512 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:455 |
简单的a+b (C语言代码)浏览:462 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:712 |
回文数(一) (C语言代码)浏览:1117 |