ACM和蓝桥杯比赛7种常用的多组输入输出(c语言)

编者按:以下7道题为ACM和蓝桥杯比赛中常用的多组输入输出的情况,题目很简单,这里相当于做一个总结,若读者有其他情况或者办法,可留言一起交流。

第1道:

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


//备注:
//scanf是有返回值的,返回值是成功接收的对象个数

第2道:

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


//备注:
//这里是先规定输入的组数n,再接收n组输入

第3道:

#include<stdio.h>
int  main()
{
    int a,b;

    while(scanf("%d%d",&a,&b)==2)
    {
        if(a==0&&b==0)
        {
            break;
        }
        printf("%d
",a+b);
    }
    return 0;
}


//备注:
//这里是遇到规定的数据时候就表示接收结束
//这里规定遇到两个0时候就结束接收

第4道:

#include<stdio.h>
int  main()
{

    int n;
    int sum=0;
    int temp;
    while(scanf("%d",&n)==1)
    {
        if (n==0)
            break;
        sum=0;
        while(n--)
        {
            scanf("%d",&temp);
            sum=sum+temp;
        }
        printf("%d
",sum);
    }

    return 0;
}


//备注:
//这里是接收多组数据 ,每组数据有多多少个不固定,以第一个数据为准。
//遇到规定的数据,结束接收

第5道:

#include<stdio.h>
int  main()
{

    int n;
    int sum=0;
    int m;
    int temp;
    scanf("%d",&n);
    while(n--)
    {
        sum=0;
        scanf("%d",&m);
        while(m--)
        {
            scanf("%d",&temp);
            sum=sum+temp;
        }
        printf("%d
",sum);
    }

    return 0;
}


//备注:
//这里先接收一个数据的组数
//每一组的第一个数代表本组数据的个数

第6道:

#include<stdio.h>
int  main()
{

    int m;
    int sum;
    int temp;
    while(scanf("%d",&m)==1)
    {
        sum=0;
        while(m--)
        {
            scanf("%d",&temp);
            sum=sum+temp;
        }
        printf("%d
",sum);
    }

    return 0;
}


//备注:
//一直接收输入

第7道:

#include<stdio.h>
int  main()
{

    int a,b;
    while(scanf("%d%d",&a,&b)==2)
    {
        printf("%d
",a+b);
        printf("
");
    }

    return 0;
}


//备注:
//一直接收输入,计算两数字和
经验分享 程序员 微信小程序 职场和发展