欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

任给十进制整数,请从低位到高位……

发布时间:2023/12/15 编程问答 58 豆豆
生活随笔 收集整理的这篇文章主要介绍了 任给十进制整数,请从低位到高位…… 小编觉得挺不错的,现在分享给大家,帮大家做个参考.


其实这个题目本质上就是将输入的字符串或者字符数组逆序输出,也是我比较喜欢用的办法,可以解决大部分类似的问题。但为了学习到算法的多种可能性,下面用三种方法来对这个问题进行求解:

文章目录

    • 字符数组逆序输出
    • 递归法
    • 循环法

字符数组逆序输出

#include<stdio.h> #define N 65535 int main() {char ch;char str[N];int cnt=0;//输入ch=getchar();for(int i=0;ch!='\n';i++){str[i]=ch;cnt++;ch=getchar();}//输出for(int k=cnt-1;k>=0;k--){printf("%c ",str[k]);}return 0; }

递归法

#include<stdio.h> int f(int n); int main() {int n;scanf("%d",&n);f(n);return 0; } int f(int n){if(n<10){printf("%d\n",n);}else{printf("%d",n%10);f(n/10);} }

循环法

#include<stdio.h> int main() {int n;scanf("%d",&n);while(n>=10){printf("%d ",n%10);n/=10;}printf("%d\n",n);return 0; }


经运行截图判断,在时间复杂度上:
O(递归法)>O(字符数组逆序输出)>O(循环法)

总结

以上是生活随笔为你收集整理的任给十进制整数,请从低位到高位……的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。