统计数字位数:
输入数字 丢弃位数 余下数字 丢弃个位数字
1234 个位 123 n/=10
123 十位 12
12 百位 1
1 千位 0
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
long long n;
long long m;
scanf("%lld", &n);
m = n;
int count = 0;
while (n != 0)
{
count++;
n /= 10;//丢弃个位数字
}
if (m ==0)//考虑n为0的情况
count = 1;
printf("%lld是个%d位数字\n", m, count);
return 0;
}
逆序输出整数的每一位
输入数字 丢弃位数 得到个位 丢弃个位
1234 4 n%10 n/=10
123 3
12 2
1 1
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
long long n;
scanf("%lld", &n);
if(n<0)
{
printf("-");
n = -n;
}
while (n != 0)
{
printf("%d",n%10);//得到个位数字并且输出(逆序)
n /= 10;//丢弃个位
}
return 0;
}
顺序输出整数的每一位
输入数字 丢弃位数 余下数字 得到最高位 丢弃最高位
12345 1 2345 n/10000 n%=10000
2345 2 345 n/1000 n%=1000
345 3 45 n/100 n%=100
45 4 5 n/10 n%=10
5 5 0 n/1 n%=1
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
long long n;
long long m;
scanf("%lld", &n);
m = n;
int count = 0;
while (n != 0)
{
count++;
n /= 10;
}
n = m;
int power = pow(10, count - 1);//得到10的倍数
while (n != 0)
{
printf("%lld", n / power);
n %= power;//丢掉最高位
power /= 10;
}
return 0;
}
//运用递归
void Show(int n)
{
if(n<10)
printf("%d",n);
else
{
Show(n/10);
printf("%d",n%10);
}
}
int main()
{
Show(123456);
return 0;