《算法笔记》2.10小节——C/C++快速入门->黑盒测试

文章提供了几个C/C++编程练习,涉及处理不同类型的输入输出场景,如无固定结束条件的输入、遇到特定条件结束输入和计算整数和。每个练习都包含样例输入和输出,以及对应的代码示例,帮助初学者掌握处理输入输出的技巧。
摘要由CSDN通过智能技术生成

时间: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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值