ACM入门的基本问题是求和,最简单的例子是求两个整数的和
题目1:
原题地址:HDOJ_1089
示例:
1 2 3 4 5 6 7
| Input: 1 5 10 20
Output: 6 30
|
题目无具体的输入数据组数说明,因此需要自己加以判断
scanf函数返回值为int型,大小是成功输入的合格参数的个数,成功一个返回1,二个返回2,没有返回-1
代码:
1 2 3 4 5 6 7 8
| #include<stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)==2) printf("%d\n",a + b ); return 0; }
|
题目2
原题地址:HDOJ_1090
示例:
1 2 3 4 5 6 7 8
| Input: 2 1 5 10 20
Output: 6 30
|
题目一开始就说明了具体的输入数据组数,第一行说明了有N组数据,例如此题有2组输入数据
代码:
1 2 3 4 5 6 7 8 9 10 11 12
| #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 ); } return 0; }
|
题目3
原题地址:HDOJ_1091
示例:
1 2 3 4 5 6 7 8
| Input: 1 5 10 20 0 0
Output: 6 30
|
题目没有说明具体的输入组数,但是以特殊输入作为结束标志
代码:
1 2 3 4 5 6 7 8
| #include<stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)==2&&(a!=0||b!=0)) printf("%d\n",a+b); return 0; }
|
题目4(综合练习)
原题地址:HDOJ_1092
示例:
1 2 3 4 5 6 7 8
| Input: 4 1 2 3 4 5 1 2 3 4 5 0
Output: 10 15
|
此题是对1~3道题目的综合练习
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include<stdio.h> int main() { int N,i,a,sum; while(scanf("%d",&N)&&N){ sum=0; for(i=0;i<N;i++){ scanf("%d",&a); sum+=a; } printf("%d\n",sum); } return 0; }
|
题目5(综合练习)
原题地址:HDOJ_1093
示例:
1 2 3 4 5 6 7 8
| Input: 2 4 1 2 3 4 5 1 2 3 4 5
Output: 10 15
|
此题是对1~4道题目的综合练习
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include<stdio.h> int main() { int N,M,i,j,a,sum; scanf("%d",&N); for(i=0;i<N;i++){ while(scanf("%d",&M)){ sum=0; for(j=0;j<M;j++){ scanf("%d",&a); sum+=a; } printf("%d\n",sum); break; } } return 0; }
|
题目6(综合练习)
原题地址:HDOJ_1094
示例:
1 2 3 4 5 6 7
| Input: 4 1 2 3 4 5 1 2 3 4 5
Output: 10 15
|
此题是对1~5道题目的综合练习
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include<stdio.h> int main() { int N,i,a,sum; while(scanf("%d",&N)!=EOF&&N){ sum=0; for(i=0;i<N;i++){ scanf("%d",&a); sum+=a; } printf("%d\n",sum); } return 0; }
|