hdoj-2567-寻梦(解题报告)

本篇介绍了一个ACM编程挑战赛题——通过将第二个字符串精确地插入到第一个字符串的中间位置来生成新的字符串。题目背景设定在一个充满想象的故事情境中,旨在考验参赛者对于字符串操作的理解与实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2567

问题描述:

寻梦

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8825    Accepted Submission(s): 6588
Problem Description
每个人的童年都可能梦想过自己成为一个英雄,尤其是喜欢武侠的男生,Yifenfei也不例外。
童年的他常常梦想自己能成为一个绝世英雄,手拿一把灿灿发亮的宝剑,手挽一位长发飘逸的秀丽气质MM ^_^ ,散步于清幽的泉边小道,微风吹过,飘落两片枫叶。。。。。。
正由于成天陶醉于这种脱世的意境之中,导致此人老大不小依旧形单影只,每天只能在人潮中孤单上路。。。。。。
现在就让我们为这个可怜的人创造一个机会,权当假设yifenfei现在已经捕获一位MM的芳心,但该MM被邪恶并且极其可恶的大魔头(AC女之杀手 lemon)抓走。为了正义,为了MM,燃烧吧。。。。。。

好了,现在就正式开始我们的行程,接下来将有6关等待着yifenfei,让我们帮助他战胜邪恶的lemon大魔王吧。

来到大魔王居住的千年古墓前,呈现在yifenfei眼前的是墓碑上神秘的字符,经过仔细研究,发现原来这是开启古墓入口的方法。
墓碑上有2行字符串,其中第一个串的长度为偶数,现在要求把第2个串插入到第一个串的正中央,如此便能开启墓碑进入墓中。
Input
输入数据首先给出一个整数n,表示测试数据的组数。
然后是n组数据,每组数据2行,每行一个字符串,长度大于0,小于50,并且第一个串的长度必为偶数。
Output
请为每组数据输出一个能开启古墓的字符串,每组输出占一行。
Sample Input
   
   
2 HDCM UA Aw CFlo
Sample Output
   
   
HDUACM ACFlow
Author
yifenfei
 

题目分析:有n组数据,每组数据输入两个字符串,长度均大于0小于50,已知第一个字符串的长度为偶数,将第二个字符串插入第一个字符串的正中央。

解题思路:用循环控制输出,先输出第一个数组的前一半,再输出第二个数组,最后输出第一个数组的后一半。

代码实现:

#include<stdio.h>
#include<string.h>
char a[60],b[60];
int main(void)
{
    int n,c,i,j;
    scanf("%d",&n);
    getchar();
    while(n--)
    {
        scanf("%s %s",a,b); 
        c=strlen(a);
        for(i=0;a[i]!='\0';i++)
        {
            if(i<c/2)
            printf("%c",a[i]);
        }
        for(j=0;b[j]!='\0';j++)
            printf("%c",b[j]);
        for(i=c/2;a[i]!='\0';i++)
        {
            printf("%c",a[i]);
        }
        printf("\n");
    } 
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值