hhjc.net
当前位置:首页 >> C语言,编写一个递归函数,实现将任意的正整数按反序输出。例如:输入 123456,输出为 65432... >>

C语言,编写一个递归函数,实现将任意的正整数按反序输出。例如:输入 123456,输出为 65432...

假定 正整抄数 数值 在bai int 型允许du的数值范围zhi以内,程序如下dao.#include <stdio.h>int fun(int x){if (x==0) return 0; else {printf("%d",x%10);return fun(x/10);};}int main(){int x=123456;fun(x);return 0;}

复制代码到文本文档,重命名为“反序.vbs”====================================================================== a=inputbox("请输入要反序的数!") for i=1 to len(a) b=b&mid(a,len(a)-i+1,1) next msgbox b,vbyes,"反序后的结果!"======================================================================

void f(int x) { if(x/10==0) printf("%d",x); else { printf("%3d",x%10); x/=10; f(x); }

void p(char *a,int i){if(!a[i])return 0;elsep(a,i++)printf("%c",a[i]);}

#include<stdio.h>#include<math.h> void main() { int n; scanf("%d",&n); int i=0;//表示数字的长度. while(pow(10.0,(double)i)<=n) { i++; } for(int j=0;j<i;j++) { printf("%d\n",(n/(int)pow(10.0,(double)j))%10); } }

1. 算法:递归函数传入正整数,先输出最末尾数字,再除以10用递归函数继续迭代,直到该正整数为0时终止递归.2. 例程:#include<stdio.h> void rev(int n){ if(n > 0) { //判断该数是否大于0 printf("%d", n%10); //输出末位数值 rev(n/10); //递归迭代整除10后的剩余值 } } int main(){ rev(1234); //样例输入1234 return 0; }//样例输出 4321

n是输入的整数

我的楼.. #include <stdio.h> void main(){ int i=0,k=0,t; char str[20]; scanf("%d",&t); while(t) { if(k==3) { k=0; str[i++]=','; } else { k++; str[i++]=t%10+'0'; t/=10; } } while(i--) { printf("%c",str[i]); } printf("\n"); } 运行时截图:

#includevoid fun(char *s){ if(*s) {fun(s+1);putchar(*s);}}void main(){ char s[81]; gets(s); fun(s);}

void print(int n) { while(n!=0){ printf("%d",n%10); n=n/10; } } 这是实现函数,再在main()函数里调用即可;

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.hhjc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com