打印十进制数n 递归

#include<stdio.h>
//printd函数: 打印十进制数n
void printd(int n){
    if(n<0){
        putchar(‘-‘);
        n=-n;
    }
    if(n/10)
        printd(n/10);
    putchar(n%10+‘0‘);
}
int main()
{
    int d;
    while(1){
        // int scanf(char *format,...)
        scanf("%d",&d);
        printd(d);
    }
    return 0;
}

运行结果

时间: 2024-10-14 14:41:32

打印十进制数n 递归的相关文章

打印出从1到最大的n位十进制数,如输入3 打印 1到 999

打印出从1到最大的n位十进制数,如输入3  打印 1到 999 分析: 可能很多人想到直接求出  10的 n次方  ,然后从1打印到该数.这种情况只适合输入比较小的数字  如  1   2    3   4   5  但是当输入100时,肯定无法直接表示该数. 所以,用数组是一个不错的方法   number[n] 换种思路,n位所有十进制数其实就是n个0-9的数全排列的过程,只是排在前面的0我们不打印出来. 类似于树的深度遍历,树的深度为10层,先从第一层遍历到最后一层   ,当最后一层的所有可

剑指offer—第三章高质量的代码(按顺序打印从1到n位十进制数)

题目:输入一个数字n,按照顺序打印出1到最大n位十进制数,比如输入3,则打印出1,2,3直到最大的3位数999为止. 本题陷阱:没有考虑到大数的问题. 本题解题思路:将要打印的数字,看成字符串,不足位的,高位补0.打印字符串的时候要对数字进行判断,不要将高位的0打印出来.打印字符串的结束条件是,当最高位产生进位时结束. c++代码: #include<iostream> using namespace std; //字符串模拟加法 bool Increment(char* number) {

递归 将一个十进制数转化为任意进制字符串

Create All kinds of guns. 设计重点: 1 基类作接口 2 继承类是各种不同的类 3 构建工厂类,然后根据需要创造不同的类,可以传入关键字,或者索引等. #pragma once #include <string> #include <iostream> using namespace std; //Base class class Gun { public: virtual string description() { return "Gener

输入n,按顺序打印1到最大的n位十进制数

1 /* 2 *题目要求:输入n,按顺序打印1到最大的n位十进制数 3 *比如:输入3,则打印1,2,...999 4 *更新日期:2015-06-15 5 */ 6 7 //注意题目中的陷阱,当n稍微大一点的时候会溢出,所以使用字符串输出的策略 8 9 #include<iostream> 10 using namespace std; 11 12 void 13 Print_number_byte(unsigned char num) 14 { 15 if(num<1)return

打印出从1到最大的n位十进制数

首先这一题会溢出,要考虑的大数问题.所以不能用简单的是int类型数来表示(32位无符号int 范围是0x00000000···0xFFFFFFFF),下面主要是非递归的实现代码,自己做了注释方便以后回顾. #include "stdafx.h" #include <iostream> using namespace std; //输入数字n,按照顺序打印出从1到最大的n位十进制数. bool Increament(char *number); void printNumbe

OJ刷题之《将十进制、八进制和十六进制数1000对应十进制数输出》

题目描述 将十进制的1234输出 将八进制的1234对应其十进制数进行输出 将十六进制的1234对应其十进制数进行输出 输入 无 输出 1234D=1234D 1234O=668D 1234H=4660D 样例输出 1234D=1234D 1234O=668D 1234H=4660D 提示 输出第二行的"1234O=668D",1234后的是大写字母O,不是数字0 代码如下: #include <iostream> #include <iomanip> usin

java语言将任意一个十进制数数字转换为二进制形式,并输出转换后的结果

1 package com.llh.demo; 2 3 import java.util.Scanner; 4 5 /** 6 * 7 * @author llh 8 * 9 */ 10 public class Test { 11 /* 12 * 将任意一个十进制数数字转换为二进制形式,并输出转换后的结果(使用数组存储) 13 */ 14 public static void main(String[] args) { 15 Scanner sc = new Scanner(System.in

day3-函数,递归,内置函数

day3-函数,递归,内置函数 作者:矮哥 归档:学习笔记 2017/01/28 1.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method. 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个

十进制数与二进制数的互相转化

二进制数是机器的语言,它与我们常用的十进制数存在着转化的方式 十进制数转化二进制公式:1.整数部分:除2取余 2.小数部分:乘2取整: 或者用数轴法来计算该十进制数为哪几个2的幂的和,然后将相应位置1即可得到二进制数: 二进制转化十进制:找到所有二进制数为1的位,然后将2的位数减一次幂相加即可得到相应的十进制数.