标题:[简单]从高位开始逐位分割一个整数的的各位数字
取消只看楼主
超超超1
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-5-21
结帖率:80%
已结贴  问题点数:10 回复次数:1 
[简单]从高位开始逐位分割一个整数的的各位数字
题目原文:
输入一个整数,从高位开始逐位分割并输出它的各位数字。
输入输出示例
Input an integer:123456
1  2  3  4  5  6
(完)

这个问题有人问过了,我看到靠谱点的思路就是:先求出这个数的位数,然后分别除以10的几次方,然后%10求出数字,然后输出。

我也这么想的,但是总感觉编程出来有点奇葩,运行起来是没问题的。求个人给看下程序是不是可以优化下,或者换个思路解决这个问题。

个人编的程序:
#include <stdio.h>
int main(void)
{
int number,x,i,j,count,digit,pow;
printf("input an integer:");
scanf("%d",&number);

if(number<0)
number=-number;
x=number;
count=0;
do{
    x=x/10;
    count++;
}while(x!=0);
for(i=count;i>0;i--){
    x=number;
    pow=1;
    for(j=1;j<i;j++){
        pow=10*pow;
    }
    digit=(x/pow)%10;
    printf("%d ",digit);
}

return 0;
}


   


搜索更多相关主题的帖子: number include 数字 count 
2013-05-26 19:31
超超超1
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-5-21
得分:0 
仰慕各位,我就不一一感谢了!

数组和字符串之类的内容还没看,不过基本思路大概知道了。我到时候会回来再琢磨琢磨
2013-05-27 11:01



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




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

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