信息学奥赛IO三大法宝
freopen,,fopen,ifstream/ofstream
1. 开始的时候freopen很直观,特别是改熟悉的键盘输入in(屏幕监控)和屏幕输出out,再直接。
xInOut01.cpp
# include<cstdio>
int main( ){freopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout); int temp,sum= 0;while (scanf("%d", &temp)==1) {sum=sum+temp;} printf("%d\n",sum);fclose(stdin);fclose(stdout); return 0;
}
可以再简单点,用cin/cout
xInOut02.cpp
#include<cstdio>
#include<iostream>using namespace std;
int main( ){freopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout); int temp,sum= 0;while(cin>>temp){sum=sum+temp;}cout<<sum<<endl;fclose(stdin);fclose(stdout); return 0;
}
实际这个redirect重定向,就是用standIn键盘和standOut屏幕,注释的五行可以明确.
xInOut03.cpp
#include<iostream>
using namespace std;
int main()
{
// FILE *fin, *fout;
// fin=fopen("in.txt","rb");
// fout=fopen("out.txt"," wb");int a,b,c;cin>>a>>b>>c;cout<<(a+b)/c<<endl;// fclose(stdin);
// fclose(stdout); return 0;
}
FILE *freopen(const char *filename, const char *mode, FILE *stream)
mode(6): r, w, a, r+, w+, a+
stream(5): stdin, stdout, stderr
用fopen是规矩,毕竟不再是初学的键盘屏幕。
FILE *fopen(const char *filename, const char *mode)
mode同前.。
xInOut04.cpp
#include<cstdio>
using namespace std;int main( ){FILE *fin, *fout;fin=fopen("in.txt","rb"); //rb可以fout=fopen("out.txt"," wb"); //wb可以int temp, sum=0;while(fscanf(fin,"%d", &temp)==1)sum=sum+temp;fprintf(fout,"%d\n", sum);fclose(fin);fclose(fout);return 0;
}
怀念freopen,用FILE指针,把输入输出定向到文件。其中看不出fopen, 但对应的fclose还是用一下。
xInOut05.cpp
#include<cstdio>
#include<iostream>
using namespace std;int main( ){FILE *fin, *fout;fin=stdin;fout=stdout;freopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);int temp, sum=0;while(fscanf(fin,"%d", &temp)==1)sum=sum+temp;fprintf(fout,"%d\n", sum);fclose(stdin);fclose(stdout); return 0;
}
用ifstream/ofstream/fstream(实际是三个)
*xInOut06.cpp
# include<fstream>
using namespace std;
int main( ){ifstream fin("in.txt");ofstream fout("out.txt");int temp, sum =0;while (fin>>temp)sum=sum+temp;fout<<sum<<endl;fin.close();fout.close();return 0;
}
这里直接是构造函数,实际实例化后该用open,close操作。
void open(const char *filename, ios::openmode mode);
mode(5):ios::app(append添加), ios::ate(a FILE to end找尾), ios::in(reading in读入), ios::out(writing out写出), ios::trunc(truncated清干净)---参数可结合如(ios::out|ios:trunc 清干净准备写)。
实际代码还想换成初期,把上面的注释并用define,可以又回到cin/cout的模样:
xInOut07.cpp
#include<fstream>
#include<iostream>
#define fin cin
#define fout coutusing namespace std;
int main( ){//ifstream fin("in.txt");//ofstream fout("out.txt");int temp, sum =0;while (fin>>temp)sum=sum+temp;fout<<sum<<endl;//fin.close();//fout.close();return 0;
}
最后in.txt和out.txt文件如下
**********************************in.txt***********************
1 2 3 4 5
*****************************************************************
******************************out.txt****************************
15
***************************************************************
信息学奥赛IO三大法宝相关推荐
- 信息学奥赛之数学一本通_部分地区中考加分,又一批中学公布中考认可信息学特长生!...
点击上面微信号关注我关注我哟定期推送帐号信息学新闻,竞赛自主招生,信息学专业知识,信息学疑难解答,信息学训练营信息等诸多优质内容的微信平台,欢迎分享文章给你的朋友或者朋友圈!有任何问题请联系小编!清北 ...
- 计算机信息技术奥赛实践,2018信息学奥赛 成绩_浅谈中学信息学奥林匹克竞赛课程的建设...
摘 要 全国青少年信息学奥林匹克竞赛是我国中小学计算机方面最具代表性的活动,旨在广大青少年中普及计算机教育,推广计算机应用.本文论述了信息学奥林匹克竞赛课程如何在中学有效地开展. 关键词 中学 信息学 ...
- C++信息学奥赛,赛制流程介绍
1.什么是信奥赛? CSP 为非专业级别的能力认证,分两个级别进行,CSP-J入门组和CSP-S提高组.两组认证都设有初赛和复赛,认证方式均为现场认证,非网络认证.第一轮认证为笔试或机试,主要测试选手 ...
- [转]浅说DFT 工程师三大法宝的使用
众所周知,芯片主要由三大部分构成. 芯片示例-可见下图 1 与电路板和其他芯片的接口-IO pad 2 存放程序的空间-ram和rom 3 搭建逻辑电路的基本组件 –标准逻辑单元 我们DFT工程师所有 ...
- DFT 工程师三大法宝的使用
众所周知,芯片主要由三大部分构成. 芯片示例-可见下图 1.与电路板和其他芯片的接口-IO pad 2.存放程序的空间-RAM和ROM 3.搭建逻辑电路的基本组件 –标准逻辑单元 DFT工程师所有的工 ...
- “火山论剑”之且用且珍惜- 浅说DFT工程师三大法宝的使用
"火山论剑"之且用且珍惜- 浅说DFT工程师三大法宝的使用 2014-12-17 Kevin BriteASIC 众所周知,芯片主要由三大部分构成. 芯片示例-可见下图 1. ...
- 济宁市机器人科技乐园_【喜讯】山东省青少年科技创新大赛、机器人竞赛,济宁市信息学奥赛获奖名单新鲜出炉...
喜讯 第34届山东省青少年科技创新大赛 第19届山东省青少年机器人竞赛 第二十届济宁市青少年信息学(计算机)奥林匹克竞赛 第十届全国青少年科学影像节 获奖名单 为弘扬和传播科学精神.科学知识.科学思想 ...
- 我在信息学奥赛上,用Bug直接改了验算数据,拿了满分算作弊嘛?
本文经AI新媒体量子位(公众号ID:qbitai)授权转载,转载请联系出处. 本文约1700字,建议阅读5分钟 信息学奥赛上用Bug改数据拿了满分! 在线考试,一道题太难做不出来,怎么办,是多少写点还 ...
- 中学计算机老师 当领导可能性,求分享,当中学计算机老师带信息学奥赛是怎样的感受 - 信息科学技术学院(EECS)版 - 北大未名BBS...
北京一所在区里还不错的中学毕业的贵校CS在读本科生来现身说法了(不会dz要去的是我母校吧)( 从初中接触NOIP到高三,当时我教练是一位北师大CS硕士毕业的女老师,看起来也没有打过算法竞赛的样子.她之 ...
- python能参加奥赛吗-家长们注意了!关于信息学奥赛(NOIP),你需要知道这些...
原标题:家长们注意了!关于信息学奥赛(NOIP),你需要知道这些 导读:获得全国青少年信息学奥林匹克联赛(NOIP)一等奖的应届高中毕业生,均具有保送进入高校就读的资格.部分地区一等奖获奖选手还享有高 ...
最新文章
- UITests操作指南
- Windows 服务器开机自启动
- linux c 正则表达式 简介
- PL/SQL的快捷键设置
- Linux云服务器卸载安装MySql
- Java注解中produces啥意思,注解@RequestMapping中的produces,consumes属性
- unity3d UniWebView插件的使用和经验
- 机器码、序列号、认证码、注册码的生成算法(四)
- TeamTalk Base静态库说明
- CSDN开博三周年--回首向来萧瑟处,铁马冰河入梦来
- Google Chrome修改网页背景颜色的办法
- 耦合是什么?如何做到解耦?
- maven进行install时出现Fatal error compiling错误
- 注册好ChatGPT帐号了,按照教程很快搞定
- 用pandas读写HDF5文件
- java编程军规_java 编程军规
- Matlab绘制特殊图形------散点图
- win7怎么进网络连接服务器未响应,win7 怎么远程连接服务器未响应
- 诺基亚 java_诺基亚开放Symbian Javaapps了
- Python灰帽子笔记一