/* 题目意思很简单,但是要注意空格 思路: 1、遍历一遍即把字符输出,所以需要计数器count(代表需要转置的起始位置), i用于表示转置的结束位置 2、对于空格要特殊处理; */ # include <stdio.h> # include <string.h> int main(void) { int n; char str[50]; while(scanf("%d",&n) != EOF) { getchar(); //吸收回车符。 while(n--) { gets(str); int len = strlen(str); int start = 0,count = 0; for(int i = 0; i < len; i++) { if(str[i] == 32) //等于空格 { printf(" "); count = i + 1; }else { if(str[i+1]==32||str[i+1]=='\0') { for(int j = i; j >= count; j--) { printf("%c", str[j]); } count = i + 1; } } } printf("\n"); } } return 0; }
原文地址:http://blog.csdn.net/xu758142858/article/details/44060871