精华内容
下载资源
问答
  • 有一些不同位数的数字,比如1、22、333、4444,正常作为数字或转字符串输出可能位数一样,某些时候输出到文本在后续处理会带来麻烦。如果想保证位数一样,在前面0。 操作非常简单,只要用s = '%04d' % n转成字符...

    有一些不同位数的数字,比如1、22、333、4444,正常作为数字或转字符串输出可能位数不一样,某些时候输出到文本在后续处理会带来麻烦。如果想保证位数一样,在前面补0。
    操作非常简单,只要用s = '%04d' % n转成字符串就可。
    举个栗子

    for n in range(1000):
        s = '%04d' % n 
        print(s)
    

    在这里插入图片描述
    其中有一个很小的问题就是,如果%04d中的0漏了,写成%4d就存在问题。在这里插入图片描述

    展开全文
  • C语言整数输出

    千次阅读 2020-04-17 12:21:53
    一、整数的基本概念 整数是我们生活中常用的数据类型,也是编程中常用的一种数据,C语言用int关键字来定义整数变量(int是 integer 的简写)。 在定义变量的时候,可以加signed、unsigned、short和long四种修饰符。 ...

    一、整数的基本概念

    整数是我们生活中常用的数据类型,也是编程中常用的一种数据,C语言用int关键字来定义整数变量(int是 integer 的简写)。

    在定义变量的时候,可以加signed、unsigned、short和long四种修饰符。

    signed:有符号的,可以表示正数和负数。

    unsigned:无符号的,只能表示正数,例如数组的下标、人的身高等。

    short:短的,现在主流的64位操作系统下,整数占用内存4个字节,使用 4
    个字节保存较小的整数绰绰有余,会空闲出两个字节来,这些字节就白白浪费掉了。在C语言被发明的早期,或者在单片机和嵌入式系统中,内存都是非常稀缺的资源,所有的程序都在尽可能节省内存。

    long:长的,更长的整数。

    二、整数的书写

    一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊的写法,具体来说,就是在数字前面加上特定的字符,也就是加前缀。

    1、二进制

    二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头。

    以下是合法的二进制:

      int a = 0b101;      // 换算成十进制为 5
      int b = -0b110010;  // 换算成十进制为 -50
      int c = 0B100001;   // 换算成十进制为 33
    

    以下是非法的二进制:

      int m = 101010;  // 无前缀 0B,相当于十进制
      int n = 0B410;    // 4不是有效的二进制数字
    

    请注意,标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字。换句话说,并不是所有的编译器都支持二进制数字,只有一部分编译器支持,并且跟编译器的版本有关系。

    2、八进制

    八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o)。

    以下是合法的八进制数:

      int a = 015;      // 换算成十进制为 13
      int b = -0101;    // 换算成十进制为 -65
      int c = 0177777;  // 换算成十进制为 65535
    

    以下是非法的八进制:

      int m = 256;  // 无前缀 0,相当于十进制
      int n = 03A2;  // A不是有效的八进制数字
    

    3、十六进制

    十六进制由数字 0~9、字母 A~F 或a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头。

    以下是合法的十六进制:

      int a = 0X2A;   // 换算成十进制为 42
      int b = -0XA0;  // 换算成十进制为 -160
      int c = 0xffff;   // 换算成十进制为 65535
    

    以下是非法的十六进制:

      int m = 5A;    // 没有前缀 0X,是一个无效数字
      int n = 0X3H;  // H不是有效的十六进制数字
    

    4、需要注意的坑

    在现实生活和工作中,我们在写十进制数的时候,为了对齐或其它原因,在数值前面加0是无关紧要的,但是,在C语言中,不要在十进制数前加0,会被计算机误认为是八进制数。

    三、整数的输出

    下表是各种进制整数的输出格式,重点记住第一、二行十进制的输出格式,其它进制整数的应用场景比较少。

    在这里插入图片描述

    注意一个坑:输出格式控制符的类型最好与变量的类型一一对应,否则会出现意外的后果,示例:

      int i=32767;
      printf("i %hd,%d\n",i,i);
      int j=32768;
      printf("j %hd,%d\n",j,j);
    

    输出结果:

      i 32767,32767
      j -32768,32768     // 得到了意外的输出结果,32768超出了short的取值范围。
    

    %hd用于输出短整数,最大值是32767,可以输出32767,但不能正常的输出32768。

    四、获取视频教程

    百万年薪程序员录制,《C/C++高性能服务开发基础》视频教程已在CSDN学院发布,优惠价12元,地址如下:
    https://edu.csdn.net/course/play/29402

    五、版权声明

    C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

    来源:C语言技术网(www.freecplus.net

    作者:码农有道

    如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!

    展开全文
  • 逆序输出整数

    2020-10-25 09:59:12
    题干里说的是超过10000的整数,但是实际上第六个测试数据是五位的超过10000的整数,如果使用这种方法分类讨论而写出10000-100000之间的情况(附加ten_thos_pos变量),最后一个测试数据会无法输出(输出case6:empty) ...

    描述

    将一个整数逆序输出。整数的范围0到10000,不会超出int表示范围

    关于输入

    输入仅一行,整数n

    关于输出

    输出也仅一行,整数的逆序形式

    例子输入

    123

    例子输出

    321

    个人方法

    简单粗暴的分类讨论,不过这里编程网格的测试数据出了一点问题,题干里说的是不超过10000的整数,但是实际上第六个测试数据是五位的超过10000的整数,如果使用这种方法分类讨论而不写出10000-100000之间的情况(附加ten_thos_pos变量),最后一个测试数据会无法输出(输出case6:empty)
    这是编程网格的题目的锅,虽然我们的老师坚称所有题目都是已经经过很多带学生测试的,但是实际上我最后打表了才发现.

    #include <stdio.h>
    int main() {
    	int n = 0;//input integer
    	scanf("%d", &n);
    	if (n < 10)printf("%d", n);
    	else if (n < 100) {
    		int ones_pos, tens_pos = 0;
    		tens_pos = n / 10;
    		ones_pos = n - tens_pos * 10;
    		printf("%02d", tens_pos + ones_pos * 10);
    	}	
    	else if (n < 1000) {
    		int ones_pos, tens_pos, hund_pos = 0;//every position before reversing
    		hund_pos = n / 100;
    		tens_pos = (n % 100) / 10;
    		ones_pos = n - hund_pos * 100 - tens_pos * 10;
    		printf("%03d", hund_pos + tens_pos * 10 + ones_pos * 100);
    	}
    	else if (n < 10000) {
    		int ones_pos, tens_pos, hund_pos, thos_pos = 0;//every position before reversing
    		thos_pos = n / 1000;
    		hund_pos = (n % 1000) / 100;
    		tens_pos = ((n % 1000) % 100) / 10;
    		ones_pos = n - thos_pos * 1000 - hund_pos * 100 - tens_pos * 10;
    		printf("%04d", thos_pos + hund_pos * 10 + tens_pos * 100 + ones_pos * 1000);
    	}
    	else if (n < 100000) {
    		int ones_pos, tens_pos, hund_pos, thos_pos, ten_thos_pos = 0;//every position before reversing
    		ten_thos_pos = n / 10000;
    		thos_pos = (n % 10000)/1000;
    		hund_pos = ((n % 10000)%1000) / 100;
    		tens_pos = (((n % 10000) % 1000)%100) / 10;
    		ones_pos = n - ten_thos_pos * 10000 - thos_pos * 1000 - hund_pos * 100 - tens_pos * 10;
    		printf("%05d", ten_thos_pos + thos_pos * 10 + hund_pos * 100 + tens_pos * 1000 + ones_pos * 10000);
    	}
    	return 0;
    }
    

    "%05d"表示在整数前面用0补位,直到补足成为一个5位的数并且输出.

    更优秀的方法

    除了上面那种简单粗暴拆解,还有一种更好的办法,可以避免编程网格的数据问题,实际上可以计算所有范围内的整数逆序.

    #include <stdio.h>
    int main()
    {
    	int n, num;
    	scanf("%d", &num);//input integer
    	if (num == 0)printf("0");
    	else {
    		while (num > 0) {
    			n = num % 10;//the last position of this number
    			printf("%d", n);//print the last position
    			num = num / 10;//"/"is used for both minus the last position and remove the last digit
    		}
    	}
    	return 0;
    }
    

    做循环直到num变成一位数为止.此方法不需要用0补位,每一位数是单独输出的,也不需要分类讨论.

    展开全文
  • C语言输出整数整数前补全

    千次阅读 2015-04-24 22:10:38
    利用%03d 可以控制C语言输出整数格式,默认输出位数为3位,如果不够,用补全。
    利用%03d 可以控制C语言输出整数格式,默认输出位数为3位,如果不够,用零补全。
    展开全文
  • 整数分解:逆序输出,正序输出
  • C语言里面的语法: #include <stdio.h>... // 整数前补0: printf("%03d \n", 28); // --- 028 // 小数后补0: printf("%0.7f \n", 2.1); // --- 2.1000000 return 0; } ...
  • 将字符串转化为整数输出

    千次阅读 2018-06-05 13:12:41
    今天我们来看一道经典面试题:编写程序实现字符串到整数的转换,例如输入“12345”,输出整数12345. 首先如果我们想细究其中的各种情况问题,可以用一个十分简单粗暴的方法来解决。就是库中的atoi函数:它是专门...
  • [C++]如何输出数字时在前面0

    千次阅读 2019-09-23 10:05:11
    这个头文件提供了一种输出方式,可以输出时在前面 #include<iostream> #include<iomanip> using namespace std; int main() { int a=10,b=1; cout<<setfill('0')<<setw(8)<&...
  • 给定N个不同的整数,要求对这N个整数按如下规则排序并输出 数据结构
  • 今天在做ACM题目的时候,遇到了这么一个问题,还真别说,这个以前真的没用过,当时就傻掉了,还好这个世界有Google,通过搜索了解了输出这种格式的C语言实现方法。但是没有找到C++的实现方法,希望知道的人留个言...
  • 编写JAVA程序,从键盘上连续录入一批整数,...public class week3输入一组整数输出其最大值和最小值 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in =new Scanner(S
  • Python输出16进制带0x补零,整数转16进制,字符串转16进制   在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性。例如调试服务端刚接到的二进制数据(里面包含很多非可见字符,也...
  • MATLAB --- num2str() 两位整数前面0

    千次阅读 2020-03-20 13:38:23
    i=1; num2str(i,'%02d'); 结果将是: 01
  • Java数字格式化输出前面0

    千次阅读 2017-08-16 18:16:46
    /** * 里数字转字符串前面自动补0的实现。 * */ public class TestStringFormat { public static void main(String[] args) { int youNumber = 1; // 0 代表前面补充0
  • 整数分解并正序输出-C语言

    千次阅读 2019-03-27 19:18:51
    这个代码的缺点就是判断条件还是用x来判断,前面讲过了,就算x没有整除完,我x也可以0结尾,你能说我是除完了吗,能呗。 因此,判断条件最好是用mask这个控制变量来控制。意思就是我的整除受你X末尾是否为...
  • 输出整数的位数、按位输出(两种)以及逆序输出本次数字的基本操作及解释①求数字所占位数②数字逐位从高位到低位输出这是关于线性表的一些基本的操作,作为记录也是复习一遍。因为是刚开始,都会注释代码的功能。...
  • 整数输出2位数,不够用0补齐

    千次阅读 2016-05-05 22:04:34
  • 输入一个整数输出每个数字对应的拼音 (c++) ...提示:整数包括负数、和正数。 输出格式: 在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如yi er san si。 输入样例.
  • 问题描述  给定n个十六进制正整数输出它们对应的八进制数。
  • 1.面试题一:请格式化一个整数,按10位输出,不足10位前面0。 2.面试题二:格式化一个浮点数,要保留小数点有2位。 3.面试题三:请描述format函数的主要用法。 第三部分——解析: 面试题一 之 格式化一个整数,...
  • 字符串转换成整数

    2017-08-09 21:59:59
    将一个字符串转换成一个整数,要求能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
  • 题目描述 用选择法对10个整数从小到大排序。 输入 10个整数 输出 排序好的10个整数 ...4 85 3 234 45 345 345 122 30 12 ...样例输出 ...每一次都挑选出一个最小的放在最前面! #define z 10 验证的时候,...
  • C语言:整数的逆序 & 顺序输出

    千次阅读 2020-02-23 12:48:16
    整数的逆序输出 1.算法思路 利用%取余运算,根据不同进制数数据采用不同; 对取得余数进行逆运算(乘以刚才除数),然后加上刚才取得余数; 循环上一步; 2、代码如下: // 整数的逆序输出 #include <stdio.h&...
  • 而为了方便确定for循环的起点和终点,我们会优先求出该整数的位数,在此基础上再进行前面的操作。 求整数的位数 在这里,我们单独建立一个函数Getnum来达到目的。 不但方便了以后的调用,而且不论我们在子函数中对该...
  • 用c语言编写输出第二个整数的算法

    千次阅读 2019-02-21 17:09:43
    输入三个整数,把第二个输入的整数输出。 输入 只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。 输出 只有一行,一个整数,即输入的第二个整数。 样例输入 123 456 789 样例输出 ...
  • 输出4个整数重复)的所有排列组合

    万次阅读 多人点赞 2017-03-30 22:10:41
    这是一个经典问题,具体问题:从1-13的整数里,选择四个数字,允许重复,并运用+,-,*,/,()对这四个数字进行运算,如果答案等于24,则输出“yes”,否则输出“no”。 最开始以为能找到规律,但是想了很久,...
  • 关于例题 输入n个整数将其后m个数挪到前面输出调整好的结果: 思路:a[0]—a[n-m-1]向后移动了m位,a[n-m]向前移动了n-m位。 移动后的顺序可以用指针或另一数组来表示。 重做:Ctrl/Command + Y 加粗:Ctrl/...
  • 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,。写一函数实现以上功能,在主函数中输入n个整数输出调整后的n个数 #include <stdio.h> #include <stdlib.h> void fix(int *a, ...
  • 逆序输出一个数(前导是0不输出

    千次阅读 2018-12-12 22:09:27
    int i,a[1000],n,b=0,c,j; scanf("%d",&amp;n); for(i=0;n&gt;0;i++) { a[i]=n%10;//求各个位的数字 n=n/10; } for(j=i-1,c=0;j&gt;=0;j–,c++)//将j和c反着输,处理逆序...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 266,842
精华内容 106,736
关键字:

整数输出前面补零