C语言,输入一个整数,从高位开始逐位分割并输出它的各位数字

如题所述

1、首先,定义三个整型变量,保存整数、各位上的数、整数的位数。

2、给整型变量p和sum,赋初值为0。

3、读入一个整数,保存在变量n中。

4、用while语句判断,n是否等于0,如果不等于0则执行语句体。

5、对整数n用10求余,余数保存在变量p中,即为各位上的数字。

6、改变整数变量n的值,使其成为原来的十分之一,即减少一位。

7、统计整数位数的变量sum自加1,实现位数的统计。

8、运行程序,输入一个整数后,计算机倒序输出各位上的数字,并且输出整数的总位数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-05-23
#include<stdio.h>
#define KON 50
int main(void)
{
    long bowle, i;
    int pan[KON] = {0};
    scanf("%ld", &bowle);
    for(i=0;bowle>10;i++){
        pan[i] = bowle%10;
        bowle /= 10;
    }
    pan[i] = bowle;
    for(;i>=0;i--)
        printf("%d\t", pan[i]);
    return 0;
}

第2个回答  2014-11-05
int main()
{int Num;
printf("输入整数\n");
scanf("%d",&Num);
int Num_get=1,i=1;
while( Num_get!=0)
{Num_get=Num%(double pow(10,i);
printf("%d\n",Num_get);
i++;
}
return 0;
}
没有编译,你试一下,有什么问题再问
第3个回答  2014-11-05
main{
int x,t
scanf(%d,x);
x=x>0?x:-x
while(x)
{
t=x%10;
x=x/10;
printf(%d,t);
}

}
如果还要求输出的时候是从高位到低位的顺序的话
main{
int x,y,t
scanf(%d,x);
x=x>0?x:-x;
y=0;
while(x)
{
t=x%10;
x=x/10;
y=y*10+t;
}
printf(%d,y);

return(0)
}追问

那个问号是啥意思,新手刚学不懂

追答

x=x>0?x:-x 这句的意思就是求X的绝对值。
如果x>0 X就等于X 否者就在X之前加一个-号 这样就负负得正

本回答被网友采纳
相似回答