
看看这个有办法解决吗,刚学,想了蛮久,这个翻转。用数组吗?而且是每个单词单独翻转
#include <string.h>
#include <stdio.h>
#include <ctype.h>
void restr(char s[], int len)
{
char t;
for (int i = 0; i < len; i++, len--)
{
t = s[i];
s[i] = s[len];
s[len] = t;
}
}
int main()
{
char str[301] = {0};
char ch, buf[31] = {0};
int inx = 0, cnt = 0;
while ((ch = getchar()) != '\n')
{
if (isalpha(ch))
{
buf[inx++] = ch;
}
else
{
if (inx > 0)
{
restr(buf, inx-1);
buf[inx] = '\0';
strcat(str, buf);
strcat(str, " ");
inx = 0;
cnt++;
}
}
}
printf("%d\n%s\n", cnt, str);
}