1 /************************************************************************* 2 > File Name: 10_PrintToMaxNum.c 3 > Author: Juntaran 4 > Mail: JuntaranMail@gmail.com 5 > Created Time: 2016年08月30日 星期二 00时47分36秒 6 ************************************************************************/ 7 8 #include <stdio.h> 9 #include <malloc.h> 10 #include <string.h> 11 12 13 void PrintNumber(char* number) 14 { 15 bool isBeginning0 = true; 16 int length = strlen(number); 17 18 for (int i = 0; i < length; ++i) 19 { 20 if (isBeginning0 && number[i]!='0') 21 isBeginning0 = false; 22 23 if (!isBeginning0) 24 printf("%c", number[i]); 25 } 26 printf(" "); 27 } 28 29 30 bool Increment(char* number) 31 { 32 bool isOverflow = false; 33 int length = strlen(number); 34 int TakeOver = 0; 35 36 for (int i = length-1; i >= 0; i--) 37 { 38 int sum = number[i] - '0' + TakeOver; // 进位 39 if (i == length - 1) 40 sum ++; 41 42 if (sum >= 10) 43 { 44 if (i == 0) 45 isOverflow = true; 46 else 47 { 48 sum -= 10; 49 TakeOver = 1; 50 number[i] = sum + '0'; 51 } 52 } 53 else 54 { 55 number[i] = sum + '0'; 56 break; 57 } 58 } 59 return isOverflow; 60 } 61 62 // 从1打印到最大的n位数 63 void PrintToMaxNum1(int n) 64 { 65 if (n <= 0) 66 return; 67 68 char* number = (char*)malloc(sizeof(char)*(n+1)); 69 memset(number, '0', n); 70 number[n] = '