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