#include<stdio.h>
#include<string.h>
#define MAX 50
int main()
{
int i = 0;
int j = 0;
int m = 0;
int n = 0; //定义四个变量并初始化为0
char a[MAX];
char b[MAX];
char c[MAX]; //定义三个字符数组
printf("请输入字符串:\n");
gets(a); //获取字符串
n = strlen(a); //把长度赋给n
for(i = n - 1;i >= 0; i--) //将a[n - 1]赋值给b[0],依次循环,得到其逆序数组b
{
b[j] = a[i];
j++;
}
j = 0;
for(i = 0;i < n; i++) //控制循环的次数为n
{
if(b[i] !=' ') //如果b[i]不为空格,将其赋值给c[j]
{
c[j] = b[i];
j++;
}
if(b[i] == ' '|| i == n -1)//若b[i]为空格或者b[j] = n - 1,进行循环
{
for(m = j -1; m >= 0; m--)//通过循环将单词逆序打印
{
printf("%c",c[m]);
}
j = 0;
}
if(b[i] == ' ')//如果b[i]为空格,打印出空格
{
printf(" ");
}
}
printf(" \n");//打印
return 0;
}
#include<string.h>
#define MAX 50
int main()
{
int i = 0;
int j = 0;
int m = 0;
int n = 0; //定义四个变量并初始化为0
char a[MAX];
char b[MAX];
char c[MAX]; //定义三个字符数组
printf("请输入字符串:\n");
gets(a); //获取字符串
n = strlen(a); //把长度赋给n
for(i = n - 1;i >= 0; i--) //将a[n - 1]赋值给b[0],依次循环,得到其逆序数组b
{
b[j] = a[i];
j++;
}
j = 0;
for(i = 0;i < n; i++) //控制循环的次数为n
{
if(b[i] !=' ') //如果b[i]不为空格,将其赋值给c[j]
{
c[j] = b[i];
j++;
}
if(b[i] == ' '|| i == n -1)//若b[i]为空格或者b[j] = n - 1,进行循环
{
for(m = j -1; m >= 0; m--)//通过循环将单词逆序打印
{
printf("%c",c[m]);
}
j = 0;
}
if(b[i] == ' ')//如果b[i]为空格,打印出空格
{
printf(" ");
}
}
printf(" \n");//打印
return 0;
}