C语言实现单词逆序输出
#include<stdio.h>
#include<string.h>
int main()
{
char a[100000];
char b[100000];
int counter=0;
gets(a);
for(int i=0;i<strlen(a);i++)//去掉多余的空格并存放在新数组b中
{
if(a[i]!=32)
{
b[counter]=a[i];
counter++;
}
if(a[i]==32&&a[i+1]!=32)
{
b[counter]=a[i];
counter++;
}
}
int counter2=counter;
for(int i=counter-1;i>=0;i--)//逆序遍历,打印空格后单词
{
if(b[i]==32)
{
for(int j=i+1;j<counter2;j++)
printf("%c",b[j]);
counter2=i;
printf(" ");
}
}
for(int j=0;j<counter2;j++)//打印第一个单词
printf("%c",b[j]);
}
查看24道真题和解析