1.给一个不多于5位的正整数,要求 :
(1) 求出它是几位数;
(2) 分别输出每一位数字;
(3) 按逆序输出各位数字,例如原数为 321, 应输出 123。
int main()
{
int x, a, b, c, d, e;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &x);
while (x < 0 || x>99999)
{
printf("错误,请重新输入。");
scanf("%d", &x);
}
a = x / 10000;
b = x / 1000;
c = x / 100;
d = x / 10;
e = x / 1;
if (a >= 1 && a <= 9)
{
printf("%d是五位数。\n", x);
printf("%d %d %d %d %d\n", a, b - a * 10, c - b * 10, d - c * 10, e - d * 10);
printf("%d %d %d %d %d\n", e - d * 10, d - c * 10, c - b * 10, b - a * 10, a);
}
else if (b >= 1 && b <= 9)
{
printf("%d是四位数。\n", x);
printf("%d %d %d %d \n", b, c - b * 10, d - c * 10, e - d * 10);
printf("%d %d %d %d \n", e - d * 10, d - c * 10, c - b * 10, b);
}
else if (c >= 1 && c <= 9)
{
printf("%d是三位数。\n", x);
printf("%d %d %d \n", c, d - c * 10, e - d * 10);
printf("%d %d %d \n", e - d * 10, d - c * 10, c);
}
else if (d >= 1 && d <= 9)
{
printf("%d是两位数。\n", x);
printf("%d %d \n", d, e - d * 10);
printf("%d %d \n", e - d * 10, d);
}
else if (e >= 1 && e <= 9)
{
printf("%d是一位数。\n", x);
printf("%d\n", e);
}
return 0;
}
分支语句if
if语句形式一
适用于一个分支判断
if(表达式)//如果
{语句块}
if语句形式二
适用于两个分支判断
if(表达式1)//如果
{语句块1}
else //否则
{语句块2}
if语句形式三
适用于多个分支判断
if(表达式1)//如果
{语句块1}
else if (语句块2)
{语句块2}
…
else (语句块n)
{语句块n}