《noip竞赛培训第一讲》由会员分享,可在线阅读,更多相关《noip竞赛培训第一讲(16页珍藏版)》请在金锄头文库上搜索。
1、NOIP竞赛培训,第一讲 C语言的输入与输出,By 管JX,Concept: I/O,什么是 I/O? Input & Output (输入与输出) printf, scanf, putchar, getchar 字符I/O 格式化I/O 文件I/O,By 管JX,Review:getchar & putchar,字符I/O Char c; c=getchar(); putchar(c); putchar(n);,By 管JX,Review:printf & scanf,格式化I/O F=format char s=“abcdefghijklmn” printf (“%sn”,s); prin
2、tf (“%.5sn”,s); printf (“%30sn”,s); printf (“%20.5sn”,s); printf (“%-20.5sn”,s);,By 管JX,Exercise:陶陶摘苹果,陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。 【输入】输入包括两行数据。第一行包含10个100到200之间(包括10
3、0和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。 【输出】输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。 【样例输入】 100 200 150 140 129 134 167 198 200 111 110 【样例输出】 5,By 管JX,Ans,#include int apples10; int main(void) int ans; int i, h; for(i = 0; i 10; i+) s
4、canf(“%i“, ,By 管JX,But,【输入文件】 输入文件apple.in包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。 【输出文件】 输出文件apple.out包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。,By 管JX,New!文件输入输出操作,将I/O重定向到文件中 读写文件操作写作业 打开文件打开作业本 读取数据读题目 运算运算
5、输出数据写解答 关闭文件关上作业本,By 管JX,New!打开文件,文件的结构类型FILE fopen(); #include FILE *input,*output; Input=fopen(“apple.in”,”r”); Output=fopen(“apple.out”,”w”); If (input=NULL) printf(“Bi! Error!n”); Else /读取数据,By 管JX,New!读取数据&输出数据,getc, putc c=getc(input); putc(n, output);,By 管JX,New!关闭文件,fclose(); 非常重要! fclose(in
6、put); fclose(output);,By 管JX,Exercise:拷贝文件,输入:需要拷贝的文件,拷贝文件的输出名称 操作 :拷贝文件!,By 管JX,Ans,#include int main(void) FILE *input, *output; char c; input=fopen(“1.in”,”r”); output=fopen(“1.out”.”w”); while(c=getc(input)!=EOF) putc(output,c); fclose(input); fclose(output); ,By 管JX,New:fscanf & fprintf,fscanf(input,”%i”,By 管JX,Focus! Two Methods,Method 1: FILE *input,*output; input=fopen(“apple.in”,”r”); output=fopen(“apple.out”,”w”); fscanf(input,”%i”,By 管JX,Method 2: freopen(“apple.in”,”r”,stdin); freopen(“apple.out”,”w”,stdout); scanf(”%i”,End,By 管JX,