weixin_46523951 2021-04-29 22:00 采纳率: 75%
浏览 77
已采纳

c语言输出数组时如何固定长度

例如现在有个double数组a[4]={12.1,7.214,888.88,0.24154}

如果只是用:

for(i=0;i<4;i++)

printf("%3.5lf-",a[i]);

那么输出的结果为"12.10000-7.21400-888.88000-0.24154"

不难看出第一个长度为8,第二个长度为7,第三个9,第四个7

但我想它们输出时长度都为9,也就我希望是这样的结果“ 12.10000-  7.21400-888.88000-  0.24154”

请问可以做到吗,该怎么写输出语句

  • 写回答

4条回答 默认 最新

  • Eleven 2021-04-30 11:13
    关注

    可以先换成字符串,然后再格式化输出
     

    double a[4] = { 12.1, 7.214, 888.88, 0.24154 };
    
    	for (int i = 0; i < 4; i++)
    	{
    		char data[100] = { 0 };
    		sprintf_s(data, _countof(data), "%3.5f", a[i]);
    		printf("%8s-", data);
    	}
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含