(HDU)A+B for Input-Output Practice (I~VIII)

这个学期开始接触 ACM ,查阅相关资料得知,大致有以下八种输入输出格式,题目来自 HDU

A+B for Input-Output Practice (I)

输入样例:

1 5
10 20

输出样例:

6
30

由上可知,
有若干组输入数据;有若干组输出数据,每组输出数据占一行。
于是,我们用以下语句来读取评测系统中输入文件的内容:

while(scanf(...) != EOF)

完整代码:

#include <stdio.h>
int main(){
    int a, b;
    while(scanf("%d %d", &a, &b) != EOF){
        printf("%d\n", a + b);
    }
    return 0;
}

A+B for Input-Output Practice (II)

输入样例:

2
1 5
10 20

输出样例:

6
30

由上可知,
先输入一个整数,确定接下来要输入几组数据,输出格式不变。
于是,我们可以先用 scanf 确定要输入多少组数据,然后用for循环进行输入

完整代码:

#include <stdio.h>
int main(){
    int a, b, i, N;
    scanf("%d", &N);
    for(i=0;i<N;i++){
        scanf("%d %d", &a, &b);
        printf("%d\n", a + b);
    }
    return 0;
}

A+B for Input-Output Practice (III)

输入样例:

1 5
10 20
0 0

输出样例:

6
30

由上可知,
有若干组输出数据,题目给定了输入结束条件即输入 0 0 ,输出不变。
于是,我们根据上一题,在 while 循环条件加上判断条件或在内部加上判断条件即可
完整代码:

#include <stdio.h>
int main(){
    int a, b;
    while (scanf("%d %d", &a ,&b) && (a != 0 || b != 0)){
        printf("%d\n", a + b);
    }
    return 0;
}

A+B for Input-Output Practice (IV)

输入样例:

4 1 2 3 4
5 1 2 3 4 5
0 

输出样例:

10
15

由上可知,
输入数据有若干组,每组第一个数字确定接下来该组的数据个数,为0时结束。
于是,我们加上判断条件循环输入输出
完整代码:

#include <stdio.h>
int main(){
    int a, N, i, sum;
    while (scanf("%d", &N) && N != 0){
        sum = 0;
        for(i=0;i<N;i++){
            scanf("%d", &a);
            sum += a;
        }
        printf("%d\n", sum);
    }
    return 0;
}

A+B for Input-Output Practice (V)

输入样例:

2
4 1 2 3 4
5 1 2 3 4 5

输出样例:

10
15

由上可知,
先输入一个整数,确定接下来要输入几组数据;每组输入数据的第一个数据,确定该组的数据个数。
于是,我们用两个循环实现
完整代码:

#include <stdio.h>
int main(){
    int a, N, i, j, sum, n;
    scanf("%d", &n);
    for(i=0;i<n;i++){
        scanf("%d", &N);
        sum = 0;
        for(j=0;j<N;j++){
            scanf("%d", &a);
            sum += a;
        }
        printf("%d\n", sum);
    }
    return 0;
}

A+B for Input-Output Practice (VI)

输入样例:

4 1 2 3 4
5 1 2 3 4 5

输出样例:

10
15

由上可知,
有若干组输入数据,当读取完毕时结束,输出所有数据,与上题类似
完整代码:

#include <stdio.h>
int main(){
    int a, N, j, sum;
    while (scanf("%d", &N) != EOF){
        sum = 0;
        for(j=0;j<N;j++){
            scanf("%d", &a);
            sum += a;
        }
        printf("%d\n", sum);
    }
    return 0;
}

A+B for Input-Output Practice (VII)

输入样例:

1 5
10 20

输出样例:

6

30

由上可知,
与第一题类似,只是多输出了一个空行
完整代码:

#include <stdio.h>
int main(){
    int a, b;
    while (scanf("%d %d", &a, &b) != EOF){
        printf("%d\n\n", a + b);
    }
    return 0;
}

A+B for Input-Output Practice (VIII)

输入样例:

3
4 1 2 3 4
5 1 2 3 4 5
3 1 2 3

输出样例:

10

15

6

本题输出格式可能会疏忽,即最后一行输出后没有空行
完整代码:

#include <stdio.h>
int main(){
    int a, i, sum, j, N, n;
    scanf("%d", &N);
    for(i=0;i<N;++i){
        sum = 0;
        scanf("%d", &n);
        for(j=0;j<n;++j){
            scanf("%d", &a);
            sum += a;
        }
        printf("%d\n", sum);
        if(N != i+1){
            printf("\n");
        }
    }

    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,968评论 19 139
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 声明:作者翻译论文仅为学习,如有侵权请...
    SnailTyan阅读 6,074评论 0 4
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 声明:作者翻译论文仅为学习,如...
    SnailTyan阅读 6,744评论 0 14
  • 天堂就在梦里 进入睡眠 让每一个细胞活跃起来 发出欢欣鼓舞的信号 思想开始流浪 心长出了翅膀 尘封的记忆构成一张网...
    申维希阅读 179评论 0 6
  • 最近依托新买的kindle,一口气将《吸血鬼日记》电子书的1-5部看完,说实话,纵然故事节奏紧凑、情节曲折、人物丰...
    玄轩阅读 350评论 1 1

友情链接更多精彩内容