【C语言】打印1到最大的n位数

来源:互联网 发布:网络直播公司老板跑路 编辑:程序博客网 时间:2024/06/18 06:12
//打印1到最大的n位数//输入数字n,按顺序打印出从1到最大的n位十进制数。比如:输入3,则打印出1、2一直到最大的3位数999#include <stdio.h>#include <stdlib.h>#include <memory.h>int num[10];int add(int n){int isoverflow = 0;int carry = 0;int i;for (i = 9; i >= 10 - n; i--){num[i] += carry;if (i == 9)num[i]++;if (num[i] >= 10){if (i == 10 - n){isoverflow = 1;}else{num[i] -= 10;carry = 1;}}else{break;}}return isoverflow;}int main(void){int n, i;while (scanf_s("%d", &n) != EOF && n >= 1 && n <= 5){memset(&num, 0, sizeof(int)* 10);while (!add(n)){int flag = 0;for (i = 10 - n; i < 10; i++){if (num[i] != 0 || flag)   //如果是前面的零,则不输出;如果是后面的零,则输出{flag = 1;printf("%d", num[i]);}}printf("  ");}}return 0;}

0 0
原创粉丝点击