输入样例是只输入一个数字,但你的程序是输入三个数。肯定是不行的
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
if (number < 100 || number > 999) {
printf("Please input a three digits number.");
} else {
printf("%d = %d + %d*10 + %d*100", number, number % 10,
number / 10 % 10, number / 100);
}
return 0;
}
输出中不应有空格
你这样读三个宽度各为一位的整数就已经假定输入的数是三位数了。你就无法处理像两位数和四位数的情况。
可能因为是需要把输入的这个数存入一个整数变量中,而不是存入三个整数变量中。下面是这种思路的一个实现,供参考:
#include <stdio.h>
int main(void){
// int a,b,c;
// scanf("%1d%1d%1d",&a,&b,&c);
// if(100<=1*100+b*10+c&&a*100+b*10+c<=999){
// printf("%d = %d + %d*10 + %d*100\n",a*100+b*10+c,c,b,a);
// }else{
// printf("Please input a three digits number.\n");
// }
int num;
scanf("%d",&num);
if(num>=100&&num<=999){
int one = num%10;
int ten = num/10%10;
int hundred = num/100;
printf("%d = %d + %d*10 + %d*10",num, one ,ten ,hundred);
}else{
printf("Please input a three digits number.\n");
}
return 0;
}