标题:如何在不知道 一个数有多少位数的情况下,将它分解
只看楼主
关耳扛刀
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2018-9-27
结帖率:80%
已结贴  问题点数:5 回复次数:4 
如何在不知道 一个数有多少位数的情况下,将它分解
搜索更多相关主题的帖子: 一个数 多少 位数 分解 
2018-10-06 15:46
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:5 

#include<stdio.h>
#include<stdlib.h>
int main (){
    int n,*m,k=0,a[10],i;
    scanf("%d",&n);
    m=(int *)malloc(sizeof(int)*n);
    while(n--)
        scanf("%d",&m[k++]);
        
    for(int j=0;j<k;j++)
    {
        i=0;
        do
        {
            a[i++]=m[j]%10;
            m[j]/=10;
        }while(m[j]);
        while(i)
        {
            printf("%d ",a[--i]);
        }
        printf("\n");
    }
}
2018-10-06 18:25
C_New_One
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-10-10
得分:0 
位数都不知道,可以分解吗?
2018-10-10 12:36
Mr_doge
Rank: 5Rank: 5
等 级:贵宾
威 望:10
帖 子:159
专家分:385
注 册:2018-6-28
得分:0 
可以是可以,但是如果需要这样分解输出的话,其实就是将数字转换成字符串形式输出了
一是自行编写一个函数,或者说一个小算法,来对数值进行按位拆解,这个小算法需要数论的基础才能不头晕的写出来,但是这种类似重复造轮子的行为比较麻烦,这个函数的功能其实和printf的部分功能类似
二是使用非标准库函数itoa之类的...或者标准库函数sprintf来实现(其实就是用别人帮你写好并共享出来的轮子)
2018-10-15 21:03
lala119000
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-3-2
得分:0 
可以分解,就是无限除以10。比如n是100,他的位数就是n/10,n/=10,然后继续除,知道商=0
2018-10-15 23:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490207-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018246 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved