输出多位数字组成的数值时,经常以“万”为单位,把数值分成多段。
题 输入一个十进制正数,可能是整数,也可能带有最多4位小数。
从小数点开始,按照4位一节的格式输出,每两节之间用一个空格分隔。
编程题 所有数字(包括小数点)不超过1000位。
关于#c语言#的问题:输出多位数字组成的数值时
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 技术专家团-Joel 2021-11-08 16:01关注
你好同学,这个好做呢,代码供参考:
#include <stdio.h> int main(){ char a[1000]; int i,j,k,n,count; scanf("%s", &a); for(n=0; a[n]!='\0'; n++); for(k=0; a[k]!='.'&&k<n; k++); j = k%4; count = (k-j)/4; for(i=0; i<j; i++)printf("%c",a[i]); for(i=0; i<count; i++){ if(j!=0 || ((j==0&&i!=0) ))printf(","); if(((count-i)%2==0 && j!=0) || ((count-i)%2==0 && j==0 && i!=0))printf(" "); printf("%c%c%c%c", a[j+i*4], a[j+i*4+1],a[j+i*4+2],a[j+i*4+3]); } for(i=k;i<n;i++)printf("%c", a[i]); }
输入输出示例:
第一行是输入,第二行是输出991234123412341234.5678 99, 1234,1234, 1234,1234.5678
可见满足了按照4位一节的格式输出,每两节之间用一个空格分隔
我不知道你需不需要每一节后面加个逗号,如果不需要,那就是每8位空一个格子,那就把这句if(j!=0 || ((j==0&&i!=0) ))printf(",");
删了就行
有帮助还望题主给个宝贵的采纳支持一下答主答题呢,谢谢啦本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?
- ¥15 matlab(相关搜索:紧聚焦)