POJ 入门

先复习一下C的一些基本概念

1、C标准化输出:scanf

int m,n;
scanf("%d%d",&n,&m);

实际上scanf是有返回值的,且返回值的类型为int,为输入的个数。如:

int m,n;
printf("%d", scanf("%d%d",&n,&m) );

//输入 12  56
//输出 2

//输入 2  a   a输入失败
//输出 1

//输入 a  5   a输入失败,则后面的也失败,故输出为0
//输出 0

scanf还有一个返回值EOF(即-1,符号常量),代表输入数据已经结束,如:

#include <iostream>
using namespace std;

int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b) != EOF){
        printf("%d\n",a+b);
    }
    return 0;
}

在Windows下,按Ctrl+z,再按回车即可结束输入。

 

 

 

2、C++的标准化输出:cin

cin表达式的值,只能为true(成功读入所有变量) 和false

对应的一直输入为:

#include <iostream>

using namespace std;

int main()
{
    int a,b;
    while(cin>>a>>b)  // 注意这里不能加;否则不执行后面的
    {
        cout << a+b << endl;
    }
    return 0;
}

Windows停止同按Ctrl+z  回车

 

 

例如:输入若干个(不知道多少个)正整数,输出其中的最大值

#include <iostream>
using namespace std;

int main()
{
    int a,mx=0;
    while(scanf("%d",&a) != EOF){
        if (a>mx){
            mx = a;
        }
        printf("%d\n",mx);
    }
    return 0;
}

 

 

 

 

 

 

 

3、用freopen重定向输入

调试程序时,每次运行程序都要输入测试数据,太麻烦

可以将测试数据存入文件,然后用freopen将输入由键盘重定向为文件,则运行程序时,就不需要输入数据了。:

#include <iostream>
using namespace std;

int main()
{
    freopen("E:\\CodeBlocks\\Project_\\POJ\\test1\\input.txt","r",stdin); // \\为转义\   且注意交到oj上的时候注意把它注释掉
    // 此后所有输入都来自文件 input.txt
    int a,mx=0;
    while(scanf("%d",&a) != EOF){
        if (a>mx){
            mx = a;
        }
    }
    printf("%d\n",mx);
    return 0;
}

input文件为:

运行结果为:

 

转载于:https://www.cnblogs.com/cymwill/p/9277313.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值