22000902


私信TA

用户名:dotcpp0644903

访问量:480

签 名:

陈誉yyds

等  级
排  名 7318
经  验 1268
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校 广东工业大学
专  业

  自我简介:

TA的其他文章

解题思路:将两行字符串相同的部分去除,剩下的两行字符串,哪个的字符数多,就以哪行的字符串数为操作次数(哈哈自己推下为什么)然后通过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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

2024-01-30 17:46:24
//没必要遍历两遍,一遍即可
//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;
}
2023-07-12 16:05:08
  • «
  • 1
  • »