题目:给定一个字符串,将字符串中每个单词逆序输出。
例如 输入:Hello,I am a student
输出:olleH, I ma a tneduts
谨此纪念C语言学习历程。
代码如下:
#include<stdio.h>
#include<string.h>
int main (void)
{
int i,j,k=0;
int len[20];
char str[100],s[20],str_1[20][20];
printf("请输入字符串:\n");
gets(str);
char * p=str;
char * q=s;
while (*p!='\0')
{
while (*p!=',' && *p!=' ' && *p!='\0')
{
*q++=*p++;
}
*q='\0';
strcpy(str_1[k++],s);
strcpy(s,"0");
q=s;
if (*p==',')
{
*q=*p;
q++;
*q='\0';
strcpy (str_1[k++],s);
strcpy (s,"0");
q=s;
}
p++;
}
for (i=0; i<k-1; i++)
{
len[i]=strlen(str_1[i]);
}
printf("逆序后的字符串为:\n");
for (i=0; i<k-1; i++)
{
for (j=len[i]-1; j>=0; j--)
{
printf("%c",str_1[i][j]);
}
printf(" ");
}
printf("\n");
return 0;
}