C语言如何实现将一个小数点后100位的小数按小数点后99位四舍五入输出

99

这个问题还是蛮简单的:

#include <stdio.h>

#define N 100

int main()

{   

    int a[N],n=2,m=3,k,sum=0;

    int  i=0;

 printf("请输入被除数n:");

 scanf("%d",&n);

 printf("请输入除数m:");

 scanf("%d",&m);

 k=n%m;

    sum=n/m;

    while(i<N)

 {

    k*=10;

    a[i]=k/m;

    k=k%m;

    i++;

 }

 if(a[99]>=5) a[98]+=1;

 printf("%d/%d=%d.",n,m,sum);

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

    printf("%d",a[i]);

    printf("\n");   

 

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-08
把这个小数乘以10的99次方,再取出其整数部分和小数部分,对它进行判断,若小于0.5,那么整数部分不变,否则整数部分+1,最后再将整数部分除以10的99次方输出。
需要我写程式码么?
第2个回答  2020-02-28
这个样子就可以了。
.5f就是输出四舍五入之后的5位小数的。
第3个回答  2012-07-08
我想知道下你的这个一百位的小数是手动输入的了还是某次的运算结果了
第4个回答  2012-07-08
没明白你的问题。。
相似回答