103反转单词
给出一句英文句子(只由大小写字母和空格组成,不含标点符号,也不会出现连续的空格),请将其中的所有单词顺序翻转
输入格式
多组数据,以EOF结束。
每行一句英文句子(确保只由大小写字母和空格组成,不含标点符号,也不会出现连续的空格,字符串总长度1000以内)
输出格式
每组数据输出一行,为反转后的字符串
输入样例
It is a apple
输出样例
apple a is It
因为str数组的单词长度申请的时候只给了15,找了两个小时的bug。。。是我英语读的少,没见过那么长的单词
#include <stdio.h>
#include <cstring>
#include <iostream>
using namespace std;
char str[1005][100];
char s[1005];
int main()
{
while(gets(s))
{
memset(str,'\0',sizeof(str));
int len=strlen(s);
int k=0;
int p=0;
for(int i=0;i<len;i++)
{
if(s[i]==' ')
{
k++;
p=0;
}
else str[k][p++]=s[i];
}
for(int i=k;i>=0;i--)
{
cout<<strlen(str[i]);
printf("%s",str[i]);
if(i!=0) printf(" ");
}
printf("\n");
}
}