几个问题:
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
我的代码是:
#include
int main(void)
{
int x,a,b,c;
scanf("%d",&x);
a=x/100;
b=x/10%10;
c=x%10;
if (c!=0)
{
printf("%d%d%d",c,b,a);
}
else if(c==0&&b==0)
{
printf("%d",a);
}
else if(c==0&&b!=0)
{
printf("%d%d",b,a);
}
return 0;
我的疑问是:为什么 scanf("%d",&x)不可以写成
scanf("%d%d%d",&a,&b,&c)
每个测试是一个3位的正整数。
如果写成scanf("%d%d%d",&a,&b,&c),那么这个正整数会被a接收掉的。b和c还会等着你输入
反之你可以将3位正整数看作三个字符
char a,b,c;
scanf("%c%c%c",&a,&b,&c);这样a,b,c就是三个数字字符了。
分别减去'0',就是拆分出来的三个数字