输出要求占用5个字符,如果int数字不够5位数,就在前面用0补齐。比如 int a=34;要求输出占5个字符。前导0填充就是 00034
1、使用printf函数的格式化输出即可实现在数字前补0。2、例如:printf("a=%06d\n", a);//输出6位十进制整数 左边补0,显示 a=001234;这里%06d的0就是指在前面补0占位,6代表位宽。一般这两个要一起用。
//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ long x=1; printf("%d %02d\n",x,x); return 0;}输出是1 01。这里要注意的是,%02d的意思是输出占宽2字符右对齐,不足时前面用0补齐。所以不写占宽指标2只写0是无效的,而...
usingnamespacestd;voidmain(){ inthour=9;characHour[8]={0};sprintf(acHour,"%02d",hour);cout<<acHour;}
C#将int型数字转换成多位字符串,不足前面补0 int aa = 1; string num = aa.ToString().PadLeft(3,'0');
格式控制使用"%02d"就可以,表示宽度为两位,不足两位在前面补0。例如:include"stdio.h"include"math.h"void main(){ int i,n,sum;scanf("%d",&sum); //sum为一个数的阶乘 for(i=1;;i++){ n=pow(10,i);if(sum<n){ printf("%d的位数是%d\n",sum,i);break;} } ...
但是没有找到C++的实现方法,希望知道的人留个言告诉下撒! #include<stdio.h> void main() { int num; printf("Please input a number: "); scanf("%d",&num); printf("%08d\n",num); }
C语言之字符串前面自动补零2969.docx,语言之字符串前面自动补零 view plain copy #include lt;stdio.hgt; int main() { int i; int a=9; char str[20]; sprintf(str,%6d,a); printf(str==[%s]\n,str); for(i=0;ilt;6;++i) if(str[i]== ) str[i]=0; printf(str==[%s]\n,str);
用到了flags中的 0 (注意是零不是欧) ,其百科描述为:将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-) width 即表示需要输出的位数。 int a = 4; printf("%03d",a); 输出:004 也可以用 * 代替位数,在后面的参数列表中用变量控制输出位数; ...
如果把一个十进制数转换为16位二进制数:include<stdio.h> void dec2bin(int n,int k){if(k<16)dec2bin(n/2,k+1);printf("%d",n%2);} int main(){int n;scanf("%d",&n);dec2bin(n,1);return 0;}