OJ1000
#include<stdio.h>
int main()
{
int a,b,c;
while(scanf("%d %d",&a,&b)!=EOF){
c = a+b;
printf("%d\n",c);
}
return 0;
}
杭电ACM题有个特点是输入的值为多组,所以需要用到while(scanf()!=EOF)
另外记得换行符为\n
OJ1001
代码不小心删掉,讲一下注意的点
1.一定注意printf(“%d”,n) //注意!没有位置符号&,只有输入才需要
2.注意输出格式有两个换行符\n\n
OJ1004
#include<stdio.h>
#include<string.h>
int main()
{
int n = 0;
while(scanf("%d",&n)!=EOF&&n!=0)
{
int k = 0 , max = -1;
char a[n][1000];
int num = 0;
getchar();
for(int i = 0;i<n;i++){
gets(a[i]);
}
for(int i = 0; i<n ; i++){
num = 0;
for(int j = i+1; j<n ; j++){
if(strcmp(a[i],a[j]) == 0){
num++;
}
}
if(num>max){
max = num;
k = i;
}
}
puts(a[k]);
}
}
新知识点:
1.strcmp( char*str1 , char*str2 ); 比较两个字符串(当值为0时相等)
2.C语言中添加字符串进入数组可以有两种方法,一个是使用字符数组,一个是使用指针(暂时不深究)。
char[1000][1000];
特别注意,与java不同的是,C语言中的数组值必须为确定的值,不能够为一个输入的变量(及不能为char[a][1000]);具体情况看书
3.gets(a);
a的定义类应类似为char a[1000]; gets(a)表示读取一个字符串存入数组中,字符串输入结束标志为换行符。<string.h>
puts(a);读出一个字符串。