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;
}