m0_73486986 2022-12-16 08:42 采纳率: 62.5%
浏览 25

加法两次算出来不一样的值

这个目的是:输入数据有多组,每组为一行,包括两个32位整数。对每组输入,在单独的行中输出结果。我写出来后输入1 2 和-1 1进行测试,但是第二组-1+1=2,我把-1 1作为第一组他就能算出来0,请问这是怎么回事。

#include<stdio.h>
int main()
{
    double a,b,c[100];
    int n=0;
    while(scanf("%lf %lf",&a,&b)!=EOF)
    {
        c[n]=a+b;
        n++;
        if(getchar()=='\n'&&getchar()=='\n')
        break; 
    }
    for(int i=0;i<n;i++)
    printf("%.0lf\n",c[i]);
    return 0;
}

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-12-16 08:47
    关注

    包括两个32位整数
    都说了是整数,为啥要定义double a,b啊?
    if(getchar()=='\n'&&getchar()=='\n')
    break;
    ---这是什么鬼?删掉它,莫名其妙的代码啊

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月16日

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 ARIMA模型时间序列预测用pathon解决
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)