- 一、网址链接
- 二、题目描述
- ①描述
- ②输入描述
- ③输出描述
- ④示例一
- ⑤示例二
- 三、代码实现
- ①Java代码实现
- ②C++代码实现
- ③C代码实现
牛客----https://www.nowcoder.com/ta/huawei
二、题目描述 ①描述将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符②输入描述
数据范围:输入的字符串长度满足 1<=n<=1000
注意本题有多组输入
输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。③输出描述
得到逆序的句子④示例一
输入: I am a boy⑤示例二
输出: boy a am I
输入: nowcoder三、代码实现 ①Java代码实现
输出: nowcoder
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String[] str = scanner.nextLine().split(" ");
for (int i = str.length-1; i >= 0; i--) {
System.out.print(str[i]+" ");
}
}
}
}
②C++代码实现
#include
#include
using namespace std;
int main(){
string str;
while(getline(cin,str)){
int index1=0, index2 = str.size();
for(int i=str.size()-1; i>=0; i--){
if(str[i] == ' ') {
index1 = i;
cout<<str.substr(index1+1, index2-index1)<<' ';
index2 = i-1;
}
}
cout<<str.substr(0, index2+1)<<endl;
}
return 0;
}
③C代码实现
#include
#include
int main()
{
char str[10000];
int a,len,i;
gets(str);
len = strlen(str);
for(i=len-1;i>=0;i--)
{
if(str[i]==' ')
{
a = i+1;
while(str[a]!=' ')
{
if(a==len)
break;
printf("%c", str[a]);
a++;
}
printf(" ");
}
}
i=0;
while(str[i]!=' ')
{
printf("%c",str[i]);
i++;
}
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)