1102: 【作】【入门】调换位置

内存限制:16 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:22 解决:17

题目描述

将用逗号隔开的两个英语单词交换位置输出。

输入

一行以逗号隔开的两个英文单词

输出

将两个单词交换后输出的结果

样例输入 复制

abc,de

样例输出 复制

de,abc

提示

ls=input().split(',')
ls[0],ls[1]=ls[1],ls[0]
print(','.join(ls))

C/C++提示:

准备一个新字符串r,存放颠倒之后的结果:第一步:求出逗号的下标p
第二步:将逗号后面的内容拷贝到新字符串r中(下标p+1~strlen(s)-1)
将逗号拷贝到结果字符串r中
将逗号前的内容拷贝到结果字符串r中(0~p-1)

#include<bits/stdc++.h>
using namespace std;
int main(){
    char s[1000],r[1000];
    int i,p; //p:代表逗号的下标(position) 
	int k = 0; //代表r数组的下标 
	cin>>s;
    //求出逗号的下标
    for(i = 0;i < strlen(s);i++){
        //如果是逗号
        if(s[i] == ','){
            p= i; 
	        break;
	    }
	}
    //将逗号后面的内容拷贝到结果字符串r 
	for(i = p +1;i < strlen(s);i++){
        r[k]= s[i]; 
	    k++;
    }
    //存储逗号 
	r[k]=','; 
	k++;
    //将逗号前面的内容拷贝到结果字符串r 
	for(i = 0;i <= p - 1;i++){
        r[k] = s[i]; 
	    k++;
	}
    //在r数组中存储结束标记 
	r[k] = '\0'; 
	cout<<r<<endl;
    return 0;
}

C/C++提示:

将逗号之后的单词截取(substr)出来,将逗号之前的单词截取,交换位置输出。

#include <bits/stdc++.h> 
using namespace std;
int main(){
    string s,s1,s2; 
    cin>>s;
    int p = s.find(","); 
    s1 = s.substr(0,p); 
    s2 = s.substr(p+1); 
    cout<<s2<<","<<s1;
    return 0;
}