#include<stdio.h>
int main()
{
int num=0;
char ans[90][90];
while(scanf("%s",ans[num])!=EOF)//一直輸入到檔案末尾
{
num++;
}
for(int i=num-1;i>=0;i--)
{
printf("%s",ans[i]);
if(i>0) printf(" ");
}
}
//這個不能直接結束while循環,要在鍵盤上輸入Ctrl+z 再回車
/*第二種做法是把這個字元串存進一個字元數組中*/
# include<stdio.h>
#include<string.h>
int main()
{
char str[90];
gets(str);
int len=strlen(str),r=0,h=0;//r為行,h 為列
char ans[90] [90];
for(int i=0;i<len;i++)
{
if(str[i]!=' ')
{
ans[r][h++]=str[i];
}
else
{
ans[r][h]='\0';
r++;
h=0;
}
}
for(int i=r;i>=0;i--)
{
printf("%s",ans[i]);
if(i>0) printf(" ");
}
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
int i,u=0;
char e;
char a[81];
while((e=getchar())!='\n')
{
a[u]=e;
u++;
}
a[u]='\0';
int y;
for(i=strlen(a)-1;i>=0;i--)
{
if(a[i]==' ')
{
printf("%s",&a[i+1]);
printf("%c",a[i]);
a[i]='\0';
}
if(i==0)
printf("%s",&a[0]);
}
return 0;
}
/*
1、主要是關于printf("%s",&a[i]);應用的解釋:
%s是輸出指向字元指針對應的字元串,以\0作為結束符.
&a[i]的意思是取str字元數組的第i個元素的位址,
整句話的意思是以a字元數組的第i個元素為起始元素開始列印字元串,直到遇到\0.(是以a[i]='\0'的不能遺漏,否則可能會因為沒有結束的'\0'而多輸出一些亂碼或是字元串。)
2、關于gets()函數是向字元數組輸入一個字元串,當遇到回車符時結束輸入,系統會自動在所有有效字元後加上結束符‘\0’,是以實際長度+1。但是在C++11中,GETS已經被全面取締,是以在PTA的C++類型編譯中
并不适用,用以上的輸入方法時,也需要注意在最後加上A[U]='\0'*/