当前位置:编程学习 > C/C++ >>

九度OJ 题目1471:合并符串

题目1471:合并符串时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:22
解决:13
 
题目描述:
给定两个字符串S1和S2,合并成一个新的字符串S。
合并规则为,S1的第一个字符为S的第一个字符,将S2的最后一个字符作为S的第二个字符;
将S1的第二个字符作为S的第三个字符,将S2的倒数第二个字符作为S的第四个字符,以此类推。
 
输入:
包含多组测试数据,每组测试数据包含两行,代表长度相等的两个字符串S1和S2(仅由小写字母组成,长度不超过100)。
 
输出:
合并后的新字符串S
 
样例输入:
abc
def样例输出:
afbecd来源:
2011年西北工业大学计算机研究生机试真题
 
 
 
[cpp]
/*********************************  
*   日期:2013-2-25 
*   作者:SJF0115  
*   题号: 九度OJ 题目1471:合并符串 
*   来源:http://ac.jobdu.com/problem.php?pid=1471 
*   结果:AC  
*   来源:2011年西北工业大学计算机研究生机试真题 
*   总结:  
**********************************/   
#include<stdio.h>   
#include<limits.h>   
#include<string.h>   
  
  
int main(){  
    int i,j,len1,len2,k;  
    char S1[101],S2[101],S[250];  
    while(scanf("%s",S1) != EOF){  
        //输入   
        scanf("%s",S2);  
        len1 = strlen(S1);  
        len2 = strlen(S2);  
        k = 0;  
        for(i = 0,j = len2-1;i < len1 || j >= 0;){  
            if(i < len1){  
                S[k++] = S1[i++];  
            }  
            if(j >= 0){  
                S[k++] = S2[j--];  
            }  
        }  
        //输出   
        for(i = 0;i < len1+len2;i++){  
            printf("%c",S[i]);  
        }  
        printf("\n");  
    }  
    return 0;  
}  
 
/********************************* 
*   日期:2013-2-25
*   作者:SJF0115 
*   题号: 九度OJ 题目1471:合并符串
*   来源:http://ac.jobdu.com/problem.php?pid=1471
*   结果:AC 
*   来源:2011年西北工业大学计算机研究生机试真题
*   总结: 
**********************************/ 
#include<stdio.h>
#include<limits.h>
#include<string.h>
 
 
int main(){
int i,j,len1,len2,k;
char S1[101],S2[101],S[250];
while(scanf("%s",S1) != EOF){
//输入
scanf("%s",S2);
len1 = strlen(S1);
len2 = strlen(S2);
k = 0;
for(i = 0,j = len2-1;i < len1 || j >= 0;){
if(i < len1){
S[k++] = S1[i++];
}
if(j >= 0){
S[k++] = S2[j--];
}
}
//输出
for(i = 0;i < len1+len2;i++){
printf("%c",S[i]);
}
printf("\n");
}
return 0;
}
 
 
 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,