ACM NOTE01
来源:互联网 发布:linux c 过去系统时间 编辑:程序博客网 时间:2024/05/20 06:23
1. 输入不说明有多少个Input Block,以EOF为结束标志。
参见:HDOJ_1089
2.各类输入一览:
参见:HDOJ_1089
#include<stdio.h> int main() { inta,b; while(scanf("%d%d",&a, &b) != EOF) printf("%d\n",a+b); }
2.各类输入一览:
输入_第一类:
输入不说明有多少个InputBlock,以EOF为结束标志。
参见:HDOJ_1089
说明(1):
1.Scanf函数返回值就是读出的变量个数,如:scanf( “%d %d”, &a, &b );
2.如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。
3.EOF是一个预定义的常量,等于-1。
输入_第二类:
输入一开始就会说有N个InputBlock,下面接着是N个Input Block。
参见:HDOJ_1090
输入_第三类:
输入不说明有多少个InputBlock,但以某个特殊输入为结束标志。
参见:HDOJ_1091
输入_第四类:
以上几种情况的组合
http://acm.hdu.edu.cn/showproblem.php?pid=1092
http://acm.hdu.edu.cn/showproblem.php?pid=1093
http://acm.hdu.edu.cn/showproblem.php?pid=1094
输入_第五类:
输入是一整行的字符串的
参见:HDOJ_1048
本类输入解决方案:
scanf(“ %s%s”,str1,str2),在多个字符串之间用一个或多个空格分隔;
若使用gets函数,应为gets(str1); gets(str2); 字符串之间用回车符作分隔。
通常情况下,接受短字符用scanf函数,接受长字符用gets函数。
而getchar函数每次只接受一个字符,经常c=getchar()这样来使用。
说明(5_2):cin.getline的用法:
getline 是一个函数,它可以接受用户的输入的字符,直到已达指定个数,或者用户输入了特定的字符。它的函数声明形式(函数原型)如下:
char line[]: 就是一个字符数组,用户输入的内容将存入在该数组内。
int size : 最多接受几个字符?用户超过size的输入都将不被接受。
char endchar :当用户输入endchar指定的字符时,自动结束。默认是回车符。
说明(5_2)续
结合后两个参数,getline可以方便地实现: 用户最多输入指定个数的字符,如果超过,则仅指定个数的前面字符有效,如果没有超过,则用户可以通过回车结束 输入。
输入不说明有多少个InputBlock,以EOF为结束标志。
参见:HDOJ_1089
#include <stdio.h> int main() { int a,b; while(scanf("%d%d",&a, &b) != EOF) printf("%d\n",a+b); }本类输入解决方案:
C语法: while(scanf("%d%d",&a, &b) != EOF) { .... }C++语法: while(cin >> a >> b ) { .... }
说明(1):
1.Scanf函数返回值就是读出的变量个数,如:scanf( “%d %d”, &a, &b );
2.如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。
3.EOF是一个预定义的常量,等于-1。
输入_第二类:
输入一开始就会说有N个InputBlock,下面接着是N个Input Block。
参见:HDOJ_1090
#include <stdio.h> int main() { int n,i,a,b; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d %d",&a, &b); printf("%d\n",a+b); } }本类输入解决方案:
C语法:scanf("%d",&n);for(i=0 ; i<n ; i++ ){ ....} C++语法:cin >> n;for( i=0 ; i<n ; i++ ){ ....}
输入_第三类:
输入不说明有多少个InputBlock,但以某个特殊输入为结束标志。
参见:HDOJ_1091
#include <stdio.h> int main() { inta,b; while(scanf("%d%d",&a, &b) &&(a!=0 && b!=0)) printf("%d\n",a+b); }本类输入解决方案:
C语法: while(scanf("%d",&n) && n!=0 ) { .... } C++语法: while(cin >> n && n != 0 ) { .... }
输入_第四类:
以上几种情况的组合
http://acm.hdu.edu.cn/showproblem.php?pid=1092
http://acm.hdu.edu.cn/showproblem.php?pid=1093
http://acm.hdu.edu.cn/showproblem.php?pid=1094
输入_第五类:
输入是一整行的字符串的
参见:HDOJ_1048
本类输入解决方案:
C语法: char buf[20]; gets(buf); C++语法: 1.如果用string buf;来保存: getline( cin , buf ); 2.如果用char buf[ 255 ]; 来保存: cin.getline( buf, 255 );说明(5_1):
scanf(“ %s%s”,str1,str2),在多个字符串之间用一个或多个空格分隔;
若使用gets函数,应为gets(str1); gets(str2); 字符串之间用回车符作分隔。
通常情况下,接受短字符用scanf函数,接受长字符用gets函数。
而getchar函数每次只接受一个字符,经常c=getchar()这样来使用。
说明(5_2):cin.getline的用法:
getline 是一个函数,它可以接受用户的输入的字符,直到已达指定个数,或者用户输入了特定的字符。它的函数声明形式(函数原型)如下:
istream& getline(char line[], int size, char endchar = '\n');不用管它的返回类型,来关心它的三个参数:
char line[]: 就是一个字符数组,用户输入的内容将存入在该数组内。
int size : 最多接受几个字符?用户超过size的输入都将不被接受。
char endchar :当用户输入endchar指定的字符时,自动结束。默认是回车符。
说明(5_2)续
结合后两个参数,getline可以方便地实现: 用户最多输入指定个数的字符,如果超过,则仅指定个数的前面字符有效,如果没有超过,则用户可以通过回车结束 输入。
char name[4];cin.getline(name,4,'\n');由于 endchar 默认已经是 '\n',所以后面那行也可以写成:
cin.getline(name,4);
- ACM NOTE01
- Note01
- BackTrack5 Note01
- Hibernate-note01
- JSP-note01
- Note01--核心特性
- shell note01:some shell combinations
- <O'Reilly Java Swing> - Note01
- <Pro ASP.NET MVC 5> - Note01
- Note01--Schema&Table&Constraint&View&Index&Query&Role&User&Trigger
- ACM
- acm
- ACM
- acm
- ACM!!
- ACM!!
- acm
- ACM
- 在<table>或<div>中如何让传入的文本自动换行
- 软件开发的一个不变的真理
- CSS学习笔记
- 43、数据类型之DATETIME 收藏
- 嵌入式开发基础4
- ACM NOTE01
- Spring JdbcTemplate应用
- DBA 推荐的Oracle快速诊断方式,AWR快速入门
- window环境solr在tomcat中的安装 Solr with Apache Tomcat
- Android 面试总结
- 44、Oracle数据库设计(定义约束 外键约束)
- 可以删除的安卓Android系统自带程序列表
- 嵌入式开发基础3
- 在operator=或拷贝构造中对所有数据成员赋值