[剑指offer-1515]打印1到最大的N位数

来源:互联网 发布:同花顺龙虎榜数据 编辑:程序博客网 时间:2024/05/22 21:14

题目描述:
给定一个数字N,打印从1到最大的N位数。
输入:
每个输入文件仅包含一组测试样例。
对于每个测试案例,输入一个数字N(1<=N<=5)。
输出:
对应每个测试案例,依次打印从1到最大的N位数。
样例输入:
1
样例输出:
1
2
3
4
5
6
7
8
9

#include <stdio.h>#include <stdlib.h>void printNumber(char* number,int length){    int i =0;    while(number[i] == '0'){        i++;    }       puts(number+i);}void pemutationPrintNum(char* number , int length , int index){    if(index == length){        printNumber(number,length);        return;    }    for (int i = 0 ; i < 10 ; i++) {        number[index] = i+'0';        pemutationPrintNum(number, length, index+1);    }}void print1ToMax(int n){    if(n<=0)        return;    char* number  = (char*)malloc((n+1)*sizeof(char));    number[n] = '\0';    pemutationPrintNum(number,n,0);}int main(int argc, const char * argv[]) {    int n;    scanf("%d",&n);    print1ToMax(n);    return 0;}
0 0
原创粉丝点击