• 《算法竞赛入门经典》学习笔记 2.4.4 C++中的输入输出


    2.4.3 64位整数
    输入输出long long除了cin,cout,也可以借助于printf和scanf语句,但对应的占位符缺是和平台与编译器相关的:在Linux中,gcc很同意的用%lld;在Windows中,MinGW的gcc和VC6都需要用%I64d;但VS2008却是用%lld。
    2.4.4 C++中的输入输出
    问题是经典的“A+B”问题:输入若干对整数,输出每对之和。
    第1种方法:

    #include <cstdio> //功能和C中的stdio.h很接近,但有些许不同
    using namespace std;
    int main()
    {
        int a, b;
        while (scanf("%d%d", &a, &b) == 2)
            printf("%d
    ", a+b);
        return 0;
    }

    要在C++程序中使用C语言头文件,请去掉扩展名.h,并在最前面加上小写字母c。例如,stdio.h在C++中的新名字是cstdio。另外,第一行中以//开头的是C++特有的“单行注释”,它和C中传统注释(/*和*/)可以混合使用。
    需要说明的是:C++中保留着C语言的常用头文件。如果你愿意,可以继续用stdio.h并且省略using namespace std语句。事实上,很多(但不是所有)C程序能不加修改地被C++编译器所编译。
    第2种方法:

    #include <iostream>
    using namespace std;
    int main()
    {
        int a, b;
        while (cin >> a >> b)
            cout << a + b << "
    ";
        return 0;
    }

    头文件iostream中包含着对输入输出流的定义。
    第2种方法也可以修改成文件输入输出流的方法。当然也可以用freopen对文件进行重定向,不过更正统的方法如下:

    #include <fstream>
    using namespace std;
    ifstream fin("aplusb.in");
    ofstream fout("aplusb.out");
    int main()
    {
        int a, b;
        while (fin >> a >> b)
            fout << a + b << "
    ";
        return 0;
    }

    如果想再次使用cin和cout,只需把fin和fout的声明去掉,并加上这样两行即可:

    #define fin cin
    #define fout cout

    比较效率(使用clock()与CLOCKS_PER_SEC)

  • 相关阅读:
    JavaScript prototype应用
    HTML表格
    ramnit病毒
    HTML简历表格
    Oracle、SQL Server、MySQL数据类型对比
    Oracle、SQL Server、MySQL分页方法
    java操作数据库出错
    SQL基本CRUD
    Oracle基础函数
    SQL多表查询
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5615828.html
Copyright © 2020-2023  润新知