#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char s[3][40];
int i,L;
int n;
scanf("%d",&n);
while(n--){
scanf("%s %s %s",s[0],s[1],s[2]);
L = strlen(s[0]);
for (i=L-1;i>=0;i--) printf("%c",s[0][i]);
printf(" ");
L = strlen(s[1]);
for (i=L-1;i>=0;i--) printf("%c",s[1][i]);
printf(" ");
L = strlen(s[2]);
for (i=L-1;i>=0;i--) printf("%c",s[2][i]);}
return 0;
}
输入
1
uoY era gip
输出样例:
You are pig
供参考:
#include <stdio.h>
#include <string.h>
char* reverseWords(char* s)
{
int k, j, len = strlen(s), cnt = 0;//一个单词长度
for (int i = 0; i <= len; i++)
{
if (s[i] == ' ' || s[i] == '\0')
{
k = i - cnt;
cnt = 0;
for (j = i - 1; j > k; k++, j--)
{
char tmp = s[k];
s[k] = s[j];
s[j] = tmp;
}
}
else{
cnt++;
}
}
return s;
}
int main()
{
int n = 1;
char arr[128] = "uoY era gip", * str;
scanf("%d\n", &n);
while (n--){
gets(arr);
str = reverseWords(arr);
puts(str);
}
return 0;
}
问题是什麽?
你封装成函数不就行了
在函数里设置一组操作,循环调用函数
题目是不是想讲一段话中的单词全部逆置?