c语言如何实现不足十位前面补零

看到有说用%02d的,但我用了没效果2235959003The2nddaytimeis0:0:2... 看到有说用%02d的,但我用了没效果
2
23 59 59
0 0 3
The 2nd day time is 0: 0: 2
展开
 我来答
帐号已注销
2020-11-10 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:165万
展开全部

格式控制使用"%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程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。

比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。

参考资料来源:百度百科-c语言

念之跃4
2017-07-18 · TA获得超过339个赞
知道小有建树答主
回答量:395
采纳率:74%
帮助的人:58.3万
展开全部
一般情况下是补零,但在处理有符号数的时候会因计算机系统的不同而不同。有符号数高位是零,则右移时高位补零;如果是负数,即高位是1,那么,有得系统会移入1,称算术右移,有的会移入0,称逻辑右移。turbo C是算术右移。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
户哲茂5B
推荐于2017-06-27 · TA获得超过817个赞
知道小有建树答主
回答量:781
采纳率:59%
帮助的人:133万
展开全部

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2018359
2017-08-08 · TA获得超过3494个赞
知道大有可为答主
回答量:3486
采纳率:73%
帮助的人:1426万
展开全部
printf("%010d",n);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Polaris北斗
2016-10-31 · TA获得超过3204个赞
知道大有可为答主
回答量:2530
采纳率:79%
帮助的人:815万
展开全部
#include <stdio.h>
int main() {

printf("%02d\n",2);

printf("%02d %02d %02d\n",23,59,59);

printf("%02d:%02d:%02d\n",0,0,3);
 

return 0;
}

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式