「已注销」 2021-10-29 15:34 采纳率: 77.8%
浏览 17
已结题

c语言 小数值精度问题

用16/19得不到0.84210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684

请问我错在哪了?


#include<stdio.h>

int main(void)
{
    int a,b;
    scanf("%d/%d",&a,&b);
    int n=a;
    long long int c=0;
    int t=0;
    do{
        n=(a*10)/b;
        c=(c+n)*10;
        t++;
        a=(a*10)%b;
        
        if(t>200){
            break;
        }
        
    }while(a>0 );
    
    printf("0.%lld",c/10);
    
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 秋杪 2021-10-29 16:07
    关注

    改成 c/10.0

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月29日
  • 创建了问题 10月29日

悬赏问题

  • ¥15 WPF动态创建页面内容
  • ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
  • ¥15 SQL数据库操作问题
  • ¥100 关于lm339比较电路出现的问题
  • ¥15 Matlab安装yalmip和cplex功能安装失败
  • ¥15 加装宝马安卓中控改变开机画面
  • ¥15 STK安装问题问问大家,这种情况应该怎么办
  • ¥15 关于罗技鼠标宏lua文件的问题
  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线