杭电ACM-1062
2017-01-20 本文已影响0人
1QzUPm_09F
题目:
1602题代码:
#include<stdio.h>
#include<string.h>
int n,i,len,k,j,begin;
char a[1010][1010];
int main()
{
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
gets(a[i]);
len=strlen(a[i]);
a[i][len]=' ';
begin=0;
for(k=0;k<=len;k++)
{
if(a[i][k]==' ')
{
for(j=k-1;j>=begin;j--)
{
putchar(a[i][j]);
}
begin=k+1;
if(k!=len)
{
printf(" ");
}
}
}
printf("\n");
}
return 0;
}
注意:
此题思路就是找' '(空格)找到空格就倒序输出一次,但要特别注意结尾的单词是没有空格的,所以我们可以自己添加一个。最后还要注意的就是输出格式,要判断k是否等于len再决定是否打空格(空格的输出不要用循环!!!)
还要注意下getchar()如果输入空格是会算进字符串的所以开始要加getchar
输入字符串尽量避免用scanf(“%c”,&x);这种格式 %c是很傲娇的!~~~