题目:给一个不多于5位的正整数,要求:
- 求出它是几位数;
- 分别输出每一位数字;
- 按逆序输出各位数字,例如原数为321,应输出123.
思路
:丢个位,保存运算次数
代码 :
int Di (int n)
{
int x =0;
while(n!=0)
{
x ++;
n/=10;
}
return x;
}
逆序输出每一位数字
思路 : 得个位,依次打印
代码 :
int In(int num)//逆序输出每位数字
{
while(num)
{
printf("%d",num%10);
num/=10;
}
return 0;
}
顺序输出每一位数字
思路 :得最高位,丢最高位
代码 :
int Out(int num)
{
if(num>9)
{
Out(num/10);
}
printf("%d ",num%10);
return 0;
}
完整代码如下:
代码 :
int Di (int n)
{
int x =0;
while(n!=0)
{
x ++;
n/=10;
}
return x;
}
逆序输出每一位数字
思路 : 得个位,依次打印
代码 :
int In(int num)//逆序输出每位数字
{
while(num)
{
printf("%d",num%10);
num/=10;
}
return 0;
}
顺序输出每一位数字
思路 :得最高位,丢最高位
代码 :
int Out(int num)
{
if(num>9)
{
Out(num/10);
}
printf("%d ",num%10);
return 0;
}
完整代码如下:
#include <stdio.h>
#include <math.h>
int Di(int n)
{
int x=0;
while (n!=0)
{
n=n/10;
x++;
}
return x;
}
int Out(int num)
{
if(num>9)
{
Out(num/10);
}
printf("%d ",num%10);
return 0;
}
int In(int num)
{
while(num)
{
printf("%d",num%10);
num/=10;
}
return 0;
}
int main()
{
printf("%d\n",Di(1234));
Out(1234);
printf("\n");
In(1234);
printf("\n");
return 0;
}
int Di(int n)
{
int x=0;
while (n!=0)
{
n=n/10;
x++;
}
return x;
}
int Out(int num)
{
if(num>9)
{
Out(num/10);
}
printf("%d ",num%10);
return 0;
}
int In(int num)
{
while(num)
{
printf("%d",num%10);
num/=10;
}
return 0;
}
int main()
{
printf("%d\n",Di(1234));
Out(1234);
printf("\n");
In(1234);
printf("\n");
return 0;
}