C语言 正序/逆序输出一个数(长度不一定) £神魔★判官ぃ 2024-04-17 06:14 20阅读 0赞 ### 一、功能需求 ### > 谭浩强教授的C语言教材的练习题,要求 `将用户输入的一个数逆序输出/正序输出:` > 看了参考答案感觉太麻烦了,就自己写了一版,仅供参考. ### 二、解决办法 ### 代码如下,仅供参考: #include<stdio.h> int get_num_length(int length,int x); int main() { int x,t,i=0,length; puts("input a number:"); scanf("%d",&x); length=get_num_length(0,x);//获取用户输入的数据长度 int arr[length+1];//按用户输入的长度定义一个数组 printf("%d的逆序输出为:\n",x); //数字拆分 while(x) { t=x%10;//获取最后一位 arr[i++]=t;//将每次获取到的最后一位存放进数组保存 x=x/10;//每次缩小一位 } for(i=0; i<length; i++) printf("%d ",arr[i]); puts("\n其正序输出为:"); for(i=length-1; i>=0; i--) printf("%d ",arr[i]); } //获取一个数的位数 int get_num_length(int length,int x) { while(x) return get_num_length(++length,x/10); }
还没有评论,来说两句吧...