数字的逆序比较简单,直接利用去余去除最后一位,优先输出;而且经过整除保证下一次去余的正确性。
代码以下:算法
#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; }
第一次发随笔,但愿记录本身的学习过程,若是你们有更多好的想法,欢迎多多讨论,小白在此谢过。函数