1.我们知道一个数模10再取整型就可以分离他的个位,
那么一个2位数除以10再模10就可以分离十位
一个3位数除以100再模10就可以分离百位
一个4位数除以1000再模10就可以分离千位
从上面可以看出如果i=10*i 循环1、2、3次分别得到10,100,1000
所以一个数要得要他的每位数,就可以用unm/i,i=i*10;
例如:
任意输入一个不超过八位数,反序输出,并打印出它是几位数。
分析,
1,先可以判读你输的数是多少位数,如下列程序
#include<stdio.h>
void main()
{
int i=1,n,num1=0,t=0;
printf("请输入一个少于8位数的整数");
scanf("%d",&n);
while(n/i)
{
i=i*10;
num1++;
}
printf("这个数是%d位数\n",num1);
}
void main()
{
int i=1,n,num1=0,t=0;
printf("请输入一个少于8位数的整数");
scanf("%d",&n);
while(n/i)
{
i=i*10;
num1++;
}
printf("这个数是%d位数\n",num1);
}
2 .分离个十百位
num2=n/i%10;
i=i*10;
i=i*10;
3.反序t=0; t=t*10+num2;
4.所以整个程序是
#include<stdio.h>
void main()
{
int i=1,n,num1=0,num2,t=0;
printf("请输入一个少于8位数的整数");
scanf("%d",&n);
while(n/i)
{
num2=n/i%10;
i=i*10;
t=t*10+num2;
num1++;
}
printf("这个数的反序输出是%d它是%d位数\n",t,num1);
}
void main()
{
int i=1,n,num1=0,num2,t=0;
printf("请输入一个少于8位数的整数");
scanf("%d",&n);
while(n/i)
{
num2=n/i%10;
i=i*10;
t=t*10+num2;
num1++;
}
printf("这个数的反序输出是%d它是%d位数\n",t,num1);
}