任意输入一个正整数,从高位向低位依次输出,或从低位向高位依次输出(数组,调用函数两种方法)
第一种方法:利用数组存储
//从低位到高位输出
#include<stdio.h>int main(){ int x,i;int a[50]; int k=0; printf("请输出一个数"); scanf("%d",&x); while(x>0) { a[k]=x%10; x/=10; k++; } for(i=0;i<k;i++) { printf("%3d",a[i]); } return 0;}
//从高位到低位输出
#include<stdio.h>int main(){ int x,i;int a[50]; int k=0; printf("请输出一个数"); scanf("%d",&x); while(x>0) { a[k]=x%10; x/=10; k++; } for(i=k-1;ia.=0;i--) { printf("%3d",a[i]); } return 0;}
第二种方法:
//从高位往低位输出
#include <stdio.h>int main(){ int a; printf("请输出一个数"); scanf("%d",&a); output(a);}void output(int x){ if( x >= 10) { output(x / 10); //x=x/10也对,区别在于没有存储而已,这也像“”中断函数“一样 } printf("%d ",x % 10);}
//从低位往高位输出
#include <stdio.h>int main(){ int a; printf("请输出一个数"); scanf("%d",&a); output(a);}void output(int x){ if( x > 0) { printf("%d ",x % 10); output(x / 10); }}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。