先以1000以内整数为例
#include
int main()
{
int num=0;
int a,b,c;
printf("请输入1000以内的数字:>");
scanf("%d",&num);
if(num<1000)
{
a=num/100;//百位数字
b=(num%100)/10;//十位数字
c=(num%100%10)/1;//个位数字
printf("%d\n%d\n%d\n",a,b,c);
}
else
{
printf("这个数超过 1000,请重新输入");
}
return 0;
}
其次我们来将整数范围扩大到任意整数 它的每位数由高到低的排列如下
#include
int main()
{
int num=0;
int i=0,j=0, n=0,s=0;
printf("please 输入数字:>");
scanf("%d",&num);
for (s=1,n=1;s!=0;i++)
{
n=n*10;
s=num/n; //判断整数位数如434/1000=0 i=3
}
printf("它的位数是%d\n",i);
for (j=1,n=1;j
{
n=n*10; //如434为3位,n=100
}
printf("它的每位数分别是");
for (s=num;n>=1;n=n/10)
{
printf("%d\t",s/n);//得出最高位的数字
s=s%n; // 依次循环 得出次高位
}
return 0;
}