输出多位数字组成的数值时,经常以“万”为单位,把数值分成多段。
题 输入一个十进制正数,可能是整数,也可能带有最多4位小数。
从小数点开始,按照4位一节的格式输出,每两节之间用一个空格分隔。
编程题 所有数字(包括小数点)不超过1000位。
你好同学,这个好做呢,代码供参考:
#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(",");
删了就行
有帮助还望题主给个宝贵的采纳支持一下答主答题呢,谢谢啦