白茅铺掌柜 2022-02-23 17:04 采纳率: 0%
浏览 25

PAT甲级1065题数据输入的一个疑问

浙大PAT甲级1065题,注释处改成cin输入有一个测试集始终无法通过

#include<iostream>
using namespace std;
int main()
{
    int n;    
    cin>>n;
    for (int i=0;i<n;i++)
    {
        long long a,b,c,sum;
        scanf("%lld %lld %lld", &a, &b, &c);
        //为什么用cin最后一个测试集无法通过? 
        sum=a+b;
        if (a>0 && b>0 && sum<0)
            printf("Case #%d: true\n", i + 1);
        else if (a<0 && b<0 && sum>=0)
            printf("Case #%d: false\n", i + 1); 
        else if (sum>c)
            printf("Case #%d: true\n", i + 1);
        else
            printf("Case #%d: false\n", i + 1);
    }
    return 0;
}


  • 写回答

1条回答 默认 最新

  • 关注

    scanf会比cin要快一些,因此如果你使用cin读入大段数据会导致超时。
    默认的时候cin与stdin总是保持同步,同时cout和stdout也一样,两者混用不会输出顺序错乱。
    对两者的兼容性导致cin有许多额外的开销。禁用这个特性的语句是

    std::ios::sync_with_stdio(false);
    

    取消同步后会提速很多,但是仍然比不上scanf与printf

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 2月23日

悬赏问题

  • ¥15 DevEco studio开发工具 真机联调找不到手机设备
  • ¥15 请教前后端分离的问题
  • ¥100 冷钱包突然失效,急寻解决方案
  • ¥15 下载honeyd时报错 configure: error: you need to instal a more recent version of libdnet
  • ¥15 距离软磁铁一定距离的磁感应强度大小怎么求
  • ¥15 霍尔传感器hmc5883l的xyz轴输出和该点的磁感应强度大小的关系是什么
  • ¥15 vscode开发micropython,import模块出现异常
  • ¥20 Excel数据自动录入表单并提交
  • ¥30 silcavo仿真,30分钟,只需要代码
  • ¥15 FastReport 怎么实现打印后马上关闭打印预览窗口