數字的逆序比較簡單,直接利用去餘去除最後一位,優先輸出;而且經過整除保證下一次去餘的正確性。
代碼以下:算法
#include <stdio.h> int main() { int x; int d; scanf("%d",&x); while(x!=0) { d=x%10; x=x/10; printf("%d",d); } return 0; }
字符的逆序,採用遞歸算法比較好,配合getchar()和 putchar()能夠進行遞歸輸出數組
/* 利用遞歸函數調用方式,將所輸入的5個字符,以相反順序打印出來 */ #include <stdio.h> void reverse(int i) { char next; if(i<=1) { next=getchar(); printf("相反順序輸出結果\40:\40"); putchar(next); } else { next=getchar(); reverse(i-1); putchar(next); } } int main() { int i=5; printf("請輸入5個字符"); reverse(i); return 0; }
#include <stdio.h> void reserve(char *s) { int len; char *p=s; while(*p!=0) { len++; p++; } int i; char c; for(i=0;i<len/2;i++) { c=s[i]; s[i]=s[len-1-i]; s[len-1-i]=c; } } int main() { char s[1000]; scanf("%s",&s); printf("'%s'轉化成",s); reserve(s); printf("'%s'",s); return 0; }
第一次發隨筆,但願記錄本身的學習過程,若是你們有更多好的想法,歡迎多多討論,小白在此謝過。函數