lecture01初识ACM20070925simple
Date
8
ACM in HDU
2003年9月,第一次参加省赛(邀请赛)
2004年5月,浙江省“舜宇”杯首届大学生程序设计大赛
2004年11~12月,第29届}
C++语法:
while( cin >> a >> b ) { .... }
Date
28
说明(1):
Scanf函数返回值就是读出的变量个数,如:scanf( “%d %d”, &a, &b ); 如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。
EOF是一个预定义的常量,等于-1。
Date
29
输入_第二类:
输入一开始就会说有N个Input Block,下面接着是N个Input Block。 参见:HDOJ_1090
?pid=1090
Date
30
Hdoj_1090源代码:
#include <>
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);
}
}
Date
31
本类输入解决方案:
C语法:
scanf("%d",&n) ;
for( i=0 ; i<n ; i++ ) { .... }
C++语法:
cin >> n; for( i=0 ; i<n ; i++ ) { .... }
Date
32
输入_第三类:
输入不说明有多少个Input Block,但以某个特殊输入为结束标志。
参见:HDOJ_1091
?pid=1091
Date
33
Hdoj_1091源代码:
#include <>
int main()
{
int a,b;
while(scanf("%d %d",&a, &b) &&(a!=0 && b!=0))
printf("%d\n",a+b);
}
上面的程序有什么问题?
Date
34
本类输入解决方案:
C语法:
while(scanf("%d",&n) && n!=0 )
{ .... }
C++语法:
while( cin >> n && n != 0 ) { .... }
Date
35
输入_第四类:
以上几种情况的组合
?pid=1092
?pid=1093
?pid=1094
Date
36
输入_第五类:
输入是一整行的字符串的参见:HDOJ_1048
?pid=1048
Date
37
本类输入解决方案:
C语法:
char buf[20]; gets(buf);
C++语法:
如果用string buf;来保存:
getline( cin , buf );
如果用char buf[ 255 ]; 来保存: ( buf, 255 );
Date
38
说明(5_1):
scanf(“ %s%s”,str1,str2),在多个字符串之间用一个或多个空格分隔;
若使用gets函数,应为gets(str1); gets(str2); 字符串之间用回车符作分隔。
通常情况下,接受短字符用scanf函数,接受长字符用gets函数。
而getchar函数每次只接受一个字符,经常c=getchar()这样来使用。
Date
39
说明(5_2)::
getline 是一个函数,它可以接受用户的输入的字符,直到已达指定个数,或者用户输入了特定的字符。它的函数声明形式(函数原型)如下:
istream& getline(char line[], int size, char endchar = '\n');
不用管它的返回类型,来关心它的三个参数:
char line[]: 就是一个字符数组,用户输入
lecture01初识ACM20070925simple 来自淘豆网www.taodocs.com转载请标明出处.