题目要求个位、十位、百味的数字,有不少同学能求出个位、百位的数字,但不知道怎么求十位的数字。假设a是两位,我们可以知道a/10就可以得到十位上的数,所以问题可以转换为怎么求出十位个位组成的两位数,将原来的数-百位上的数*100就可以得到这个两位数。
代码为:
#include <stdio.h>
int main()
{
int x;
int g, s, b, two;
scanf("%d", &x);
b = x / 100;
g = x % 10;
// 求出最后的两位数
two = x - b * 100;
s = two / 10;
printf("%d %d %d", g, s, b);
}
如果对%运算比较了解,我们可以想到求任意数的最后两位数,可以用%100来实现,可以用另种思路来实现。
#include <stdio.h>
int main()
{
int x;
int g, s, b,;
scanf("%d", &x);
b = x / 100;
g = x % 10;
s = x % 100 / 10;
printf("%d %d %d", g, s, b);
}
这个题目是求水仙花数、转化为二进制的基础,建议大家好好看看。也有人一些喜欢用 x / 10 % 10来就出倒数第二位的数字。1027题是这个题目的加强版,这题做出来了,又学过if语句的同学,可以看看1027题如何做。
网友评论