【问题描述】
编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。
从键盘输入的正整数值为356,将该数的个位与百位互换,所得结果为653.如果输入的正整数为300,则输出为3。 | 1 |
【输入形式】
从键盘输入三位的正整数。
【输出形式】
输出交换后的正整数值。
注意要点(解题方法或易错区域):
1)输入的一定是三位正整数,否则输出-1。就是看这个值x,是否满足x>=100,x<=999,若满足就是三位数正整数,用if-else分支结构
2)若输入的是300,则输出3,用else从句,若a=n/100,b=n/10%10,c=n%10,若b=0,c=0,则输出a,注意,这里的c是取余10!!!!!
#include<stdio.h>
int main()
{
int n,a,b,c;
scanf("%d",&n);
if(n>=1000 || n<=99)
{
printf("-1");
}
else
{
a=n/100;
b=(n/10)%10;
c=n%10;
if(b==0 && c==0)
{
printf("%d",a);
}
else if(b!=0 && c==0)
{
printf("%d%d",b,c);
}
else
{
printf("%d%d%d",c,b,a);
}
}
return 0;
}