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

1、C标准化输出:scanf

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

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

  1. int m,n;
  2. printf("%d", scanf("%d%d",&n,&m) );
  3.  
  4. //输入 12 56
  5. //输出 2
  6.  
  7. //输入 2 a a输入失败
  8. //输出 1
  9.  
  10. //输入 a 5 a输入失败,则后面的也失败,故输出为0
  11. //输出 0

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

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int a,b;
  7. while(scanf("%d%d",&a,&b) != EOF){
  8. printf("%d\n",a+b);
  9. }
  10. return ;
  11. }

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

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

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

对应的一直输入为:

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int a,b;
  8. while(cin>>a>>b) // 注意这里不能加;否则不执行后面的
  9. {
  10. cout << a+b << endl;
  11. }
  12. return ;
  13. }

Windows停止同按Ctrl+z  回车

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

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int a,mx=;
  7. while(scanf("%d",&a) != EOF){
  8. if (a>mx){
  9. mx = a;
  10. }
  11. printf("%d\n",mx);
  12. }
  13. return ;
  14. }

3、用freopen重定向输入

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

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

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. freopen("E:\\CodeBlocks\\Project_\\POJ\\test1\\input.txt","r",stdin); // \\为转义\ 且注意交到oj上的时候注意把它注释掉
  7. // 此后所有输入都来自文件 input.txt
  8. int a,mx=;
  9. while(scanf("%d",&a) != EOF){
  10. if (a>mx){
  11. mx = a;
  12. }
  13. }
  14. printf("%d\n",mx);
  15. return ;
  16. }

input文件为:

运行结果为:

POJ 入门的更多相关文章

  1. poj 3254 状压dp入门题

    1.poj 3254  Corn Fields    状态压缩dp入门题 2.总结:二进制实在巧妙,以前从来没想过可以这样用. 题意:n行m列,1表示肥沃,0表示贫瘠,把牛放在肥沃处,要求所有牛不能相 ...

  2. poj 3841 Double Queue (AVL树入门)

    /****************************************************************** 题目: Double Queue(poj 3481) 链接: h ...

  3. poj 2823 Sliding Window (单调队列入门)

    /***************************************************************** 题目: Sliding Window(poj 2823) 链接: ...

  4. [转] POJ图论入门

    最短路问题此类问题类型不多,变形较少 POJ 2449 Remmarguts' Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意: ...

  5. poj 1741 树的点分治(入门)

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 18205   Accepted: 5951 Description ...

  6. Oil Deposits(poj 1526 DFS入门题)

    http://poj.org/problem?id=1562                                                                       ...

  7. POJ P2318 TOYS与POJ P1269 Intersecting Lines——计算几何入门题两道

    rt,计算几何入门: TOYS Calculate the number of toys that land in each bin of a partitioned toy box. Mom and ...

  8. POJ 1579 Function Run Fun 【记忆化搜索入门】

    题目传送门:http://poj.org/problem?id=1579 Function Run Fun Time Limit: 1000MS   Memory Limit: 10000K Tota ...

  9. POJ 3259 Wormholes【bellman_ford判断负环——基础入门题】

    链接: http://poj.org/problem?id=3259 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...

随机推荐

  1. python框架Scrapy中crawlSpider的使用——爬取内容写进MySQL

    一.先在MySQL中创建test数据库,和相应的site数据表 二.创建Scrapy工程 #scrapy startproject 工程名 scrapy startproject demo4 三.进入 ...

  2. pro-select-like

    DELIMITER | drop procedure if exists pro_query; CREATE PROCEDURE pro_query ( cname VARCHAR() ) BEGIN ...

  3. Duilib 入门级教程 推荐

    http://www.cnblogs.com/Alberl/category/520438.html 作者写的不错,图文并茂,适合刚入门.

  4. MAC OSX--docker

    http://www.cnblogs.com/yjmyzz/p/docker-install-tutorial.html http://www.cnblogs.com/yjmyzz/p/docker- ...

  5. 编译Elasticsearch源码

    1.从github上clone  es的源码 git clone https://github.com/elastic/elasticsearch.git 2.如果没有安装gradle的话,需要安装g ...

  6. Tflearn的安装

    scipy-doc安装 sudo apt-get install python-scipy-doc安装python-scipy-doc h5py安装 sudo pip install h5py sci ...

  7. 用仿ActionScript的语法来编写html5——第二篇,利用Sprite来实现动画

    上一篇,我已经模仿as,加入了LBitmap和LBitmapData类,并且用它们实现了静态图片的显示.这次用Sprite来动态显示图片.依然遵循上一篇对显示对象的处理的思路,添加LSprite类,并 ...

  8. 从0开始用python实现神经网络 IMPLEMENTING A NEURAL NETWORK FROM SCRATCH IN PYTHON – AN INTRODUCTION

    code地址:https://github.com/dennybritz/nn-from-scratch 文章地址:http://www.wildml.com/2015/09/implementing ...

  9. GET和POST请求区别

    关于http协议GET和POST方法的区别我们可以从各处得到比较一致的答案,今天我们来填一个面试中可能碰到的一个坑. 当面试官问你“你觉得GET和POST有什么区别"时,我们可能会想到以下几 ...

  10. beego——错误处理

    beego通过Redirect方法来进行跳转: func (this *AddController) Get() { this.Redirect("/", 302) } 如何终止此 ...