时间:2023.04.05 清明节
主题:《算法笔记》2.10小节——C/C++快速入门->黑盒测试
问题 A: A+B 输入输出练习I
题目描述
你的任务是计算a+b。这是为了acm初学者专门设计的题目。你肯定发现还有其他题目跟这道题的标题类似,这些问题也都是专门为初学者提供的。
输入
输入包含一系列的a和b对,通过空格隔开。一对a和b占一行。
输出
对于输入的每对a和b,你需要依次输出a、b的和。
如对于输入中的第二对a和b,在输出中它们的和应该也在第二行。
样例输入
1 5 10 20
样例输出
6 30
方法总结:
while···EOF型:没有给定结束的输入条件,题目没有说明有多少数据需要读入时
while(scanf("%d", &n)!=EOF)
{
···
}
while(gets(str)!=NULL)
{
···
}
代码展示:
#include<stdio.h>
int main()
{
int a, b;
while(scanf("%d %d\n", &a, &b)!=EOF)
printf("%d\n", a+b);
return 0;
}
问题 C: A+B 输入输出练习III
题目描述
你的任务是计算a+b。
输入
输入中每行是一对a和b。其中会有一对是0和0标志着输入结束,且这一对不要计算。
输出
对于输入的每对a和b,你需要在相应的行输出a、b的和。
如第二对a和b,他们的和也输出在第二行。
样例输入
1 5 10 20 0 0
样例输出
6 30
方法总结:while···break型,题目要求当输入的数据满足某个条件时停止输入
代码展示:
#include<stdio.h>
int main()
{
int a, b;
while(scanf("%d %d\n", &a, &b)!=EOF)
{
if(a==0 && b==0)
break;
printf("%d\n", a+b);
}
return 0;
}
问题 D: A+B 输入输出练习IV
题目描述
你的任务是计算若干整数的和。
输入
每行的第一个数N,表示本行后面有N个数。
如果N=0时,表示输入结束,且这一行不要计算。
输出
对于每一行数据需要在相应的行输出和。
样例输入
4 1 2 3 4 5 1 2 3 4 5 0
样例输出
10 15
代码展示:代码借鉴http://t.csdn.cn/ltjhV
#include <stdio.h>
int main()
{
int a,sum=0,n;
while(1)
{
scanf("%d", &n);
if(!n){
break;
}else{
while(n--)
{
scanf("%d", &a);
sum += a;
}
}
printf("%d\n",sum);
sum = 0;
}
return 0;
}