正话反说
給定一句英語,要求編寫程序,將句中所有單詞顛倒順序輸出。
思路:使用gets函數讀入一整行,從左至右枚舉每一個字符,以空格為分隔符對單詞進行劃分,并按順序存放到二維字符數組中,最后按單詞輸入順序的逆序輸出所有單詞。
#include<cstdio> #include<cstring> int main() {char str[90];gets(str);//gets函數輸入整行數據int len = strlen(str),r=0,h=0;//r為行,h為列 char ans [90][90];//ans[0]~ans[r]存放單詞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; }結果:
總結
- 上一篇: UVA 11168 - Airport
- 下一篇: Excel - 学习 - 笔记4: Ex