我现在学到if结构,题目,输入一个数,将这个数倒序输出
1 #include <stdio.h> 2 3 int main() 4 5 { 6 7 int a,b; 8 9 printf("Please input a number that will reverse the output\n"); 10 11 scanf("%d",&a); 12 13 loop:if(a>10) 14 15 { 16 17 b=a%10; 18 19 a=a/10; 20 21 printf("%d",b); 22 23 goto loop; 24 25 } 26 27 else 28 29 { 30 31 printf("%d\n",a); 32 33 } 34 35 return 0; 36 37 38 39 }
首先我肯定想到最近学习的if条件语句,但我又想到,if语句输入输出只能一个,如果要实现就要多个if语句(逆向)筛选,千位(b=a%1000),百位(b=a%100)。。。 。。。是个是片面且复杂的于是否决,然后忽然想到while循环能不能多个输出呢,因为同时也想到之前的递归原理,因为while循环结构我猜想是和if结构差不多,(嗯,在这里说一下我的思路,刚开始是想的除以100,除以10除以1,留下余数这样下去,然后想到除了的整数再进行运算就能逆向输出,453/10=45…3 45/10=4…5 4/10=0…4)在进行while循环时发现运算怪怪的(程序没问题),感觉while也只是输出一个最终结果,然后就想到goto结构,加了goto结构还是出错,又想到if结构也是可以的然后就对if结构进行编译,在输出a还是b上修改了一下
第二次:
1 #include <stdio.h> 2 3 int main() 4 5 { 6 7 int a,b; 8 9 printf("Please input a number that will reverse the output\n"); 10 11 scanf("%d",&a); 12 13 for(;a>=10;) 14 15 { 16 17 b=a%10; 18 19 a=a/10; 20 21 printf("%d",b); 22 23 } 24 25 if(a>=0&&a<10) 26 27 { 28 29 printf("%d\n",a); 30 31 } 32 33 return 0; 34 35 36 37 }