C语言多行输入问题集锦

1. 输入格式:有多个case输入,直到文件结束

  输出格式:一行一个结果

#include

int main()

{

    int a,b;

    while( scanf( "%d%d" , &a , &b ) != EOF )   //输入直到文件结尾

    {

        printf( "%d\n" , a+b );   //一行一个结果

    }

    return 0;

}

******************样例一*********************​

#include

#include

void sxh(int m,int n)   //求两个数据中间的水仙花数,并显示

{

    int t=m;

    int count=0;

    for(;t<=n;t++)

    {

        int g=t;

        int s=(t/10);

        int b=t/100;

        if((g*g*g+s*s*s+b*b*b)==t)

        {

            printf("%d ",t);

            count++;

        }

    }

      if(0 == count)

      {

           printf("no");

      }

}​

 

void main()

{

    int a[100][2];

    int n=0,k=0;

    while( scanf( "%d%d" , &a[n][0] , &a[n][1] ) != EOF )   //输入直到文件结尾

    {

        n++;

    }

    while(k

    {

        sxh(a[k][0],a[k][1]);

        k++;

        printf("\n");

    }

    return;

}​

***************样例二******************​​

void nxh(double m,int n)      //求数列(首项m,以后每项是前一项的平方根)前n项和

{   

  double sum=m;   

  while(--n)   

  {

        m=sqrt(m); 

       sum+=m;

    }   

  printf("%.2f",sum);

}

 

void main()

{

    int a[100][2];

    int n=0,k=0;

    while( scanf( "%d%d" , &a[n][0] , &a[n][1] ) != EOF )   //输入直到文件结尾

    {

        n++;

    }   

while(k

{

        nxh(a[k][0],a[k][1]);

        k++;

        printf("\n");

}

    return;

}

*********************************************************

2. 输入格式:先输入有case数,再依次输入每个case

    输出格式:一行一个结果

#include

int main()

{   int n,a,b;

    scanf( "%d" , &n );   //输入的case数

    while( n-- )     //控制输入

    {   scanf( "%d%d" , &a , &b );

        printf( "%d\n" , a+b );     //一行一个结果

    }

    return 0;

}

********************************************************************

3. 输入格式:每行输入一组case,当case中的数据满足某种情况时退出

    输出格式:一行一个结果

int main()

{

    int a,b;

    while( scanf( "%d%d" , &a , &b ) && (a||b) )   //输入直到满足a和b均为0结束

    {

        printf( "%d\n" , a+b );   //一行一个结果

    }

    return 0;

}

********************************************************

4.   输入格式:每组case前有一个控制输入个数的数,当这个数为0结束

     输出格式:一行一个结果

int main()

{

    int n,sum;

    while( scanf( "%d" , &n ) && n ) //每组case前有一个控制该组输入数据的数,为0结束

    {

        int x;

        sum = 0;

        while( n-- )   //控制该组输入个数

        {

            scanf( "%d" , &x );

            sum += x;

        }

        printf( "%d\n" , sum );   //一行一个结果

    }

    return 0;

}

************************************************************************

5. 输入格式:一开始有一个控制总的输入case的数,而每个case中又有一个控制该组输入    数据的数

输出格式:一行一个结果

#include

int main()

{

    int casnum,n,sum;

    scanf( "%d" , &casnum );   //控制总的输入case的数

    while( casnum-- )   //控制总的输入个数

    {

        int x;

        sum = 0;

        scanf( "%d" , &n );    //每个case中控制该组输入个数

        while( n-- )

        {

            scanf( "%d" , &x );

            sum += x;

        }

        printf( "%d\n" , sum );   //一行一个结果

    }

    return 0;

}

********************************************************************

6. 输入格式:总的case是输到文件结尾,每个case中的一开始要输入一个控制该组个数的数

输出格式:一行一个结果

#include

int main()

{

    int n,sum;

    while( scanf( "%d" , &n ) != EOF )    //输出到文件结尾

    {

        int x;

        sum = 0;

        while( n-- )   //控制该组输入个数

        {

            scanf( "%d" , &x );

            sum += x;

        }

        printf( "%d\n" , sum );   //一行一个结果

    }

    return 0;

}

********************************************************************

7.  输入格式:输入直到文件结束

    输出格式:一行一个结果,结果输完后还有一个blank line

#include

int main()

{

    int a,b;

    while( scanf( "%d%d" , &a , &b ) != EOF )   //输入直到文件结束

    {

        printf( "%d\n\n" , a+b );   //一行一个结果,结果输完后还有一个回车

    }

    return 0;

}

***********************************************************************

8.   输入格式:一开始输入总的case数,每组case一开始有控制该组输入个数的数

    输出格式:一行一个结果,两个结果之间有一个回车,注意最后一个case的处理。

#include

int main()

{

    int casnum,n,sum;

    scanf( "%d" , &casnum );    //总的输入case数

    while( casnum-- )     //控制输入组数

    {

        int x;

        sum = 0;

        scanf( "%d" , &n );    //控制每组的输入个数

        while( n-- )

        {

            scanf( "%d" , &x );

            sum += x;

        }

        printf( "%d\n" , sum );   //一行一个结果

        if( casnum )  printf( "\n" );    //两两结果之间有一个回车,最后一个结果后面没有

    } 

    return 0;

}

 

你可能感兴趣的:(Sina)