这是一道很贱的代码题,但是有一个新的私立,所以记录一下:
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
新的思路:
1 就是讲你输入的数字看成是字符串,这样在同样的时间里,节省了内存空间 2 直接正序输出和倒序输出就行了。 3 4 #include<stdio.h> 5 #include<string.h> 6 int main() 7 { 8 9 10 char a[7]; 11 int i; 12 scanf("%s",&a); 13 printf("%d ",strlen(a)); 14 for(i=0;i<strlen(a);i++) 15 { 16 if(i==(strlen(a)-1)) 17 { 18 printf("%c ",a[i]); 19 }else 20 { 21 printf("%c ",a[i]); 22 } 23 } 24 for( i=strlen(a)-1;i>=0;i--) 25 { 26 printf("%c",a[i]); 27 } 28 printf(" "); 29 30 31 32 33 34 return 0; 35 }
传统的·思路。就是你申请一个数组,然后便利求长度,然后再正序和倒序输出,。我还是觉得看成字符串比较好。
将位数比较多的数字看成是字符串,记住这个思想,其实这个就是那个大数加法的思想。。。