C语言练习题(ACM编程练习)

来源:互联网 发布:华育杯网络作文投稿 编辑:程序博客网 时间:2024/05/21 06:41

主要记录用C语言做的一些编程题

A+B的问题一:在每一行输入两个数,用空格隔开,可以一直输入,结果是两个数相加的和的输出。例如:
输入 1 2
4 6
8 5
1 2
输出 3
10
13
3

C语言代码实现如下 :

#include <stdio.h>#include <stdlib.h>int main(){    int i=0,j,a,b,sum[100]={0};    while(scanf("%d %d",&a,&b)!=EOF){        sum[i]=a+b;        i++;    }    for(j=0;j<i;j++){        printf("%d\n",sum[j]);    }    return 0;}// while(scanf("%d %d",&a,&b)!=EOF)这条语句表示当输入ctrl+z表示结束时退出while循环!关于scanf函数的返回值问题,网上有很多的讲解,其实只要知道简单的一点就行,该函数的返回值就是你正确输进去的数的个数。

A+B的问题二:先输入一个数n表示有n组数据,然后每一行输入两个数表示一组数据,结果是输入两个数相加的和。例如:
输入:
3
2 3
5 6
6 9
输出:
5
11
15
C语言实现代码为:

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

A+B的问题三:输入多列测试数,每行有一对整数,以输入0 0作为结束输入的标志,结果是输出每一行的和。例:

输入: 2 5
3 7
5 8
0 0
输出: 7
10
13
C语言代码示例如下 :

#include <stdio.h>#include <stdlib.h>int main(){    int a,b,i=0,j,sum[100]={0};    while(1){        scanf("%d %d",&a,&b);        if(a==0&&b==0){            break;        }        sum[i]=a+b;        i++;    }    for(j=0;j<i;j++){        printf("%d\n",sum[j]);    }    return 0;}

A+B问题四:输入多个测试用例,输入的每行测试用例的第一个数表示该行测试的个数,当测试用例的第一个数输入为0时,则表示输入结束,然后将每行相加的结果输出,例:

输入: 5 1 2 3 4 5
2 5 6
5 12 2 3 6 5
3 5 6 4
0

输出: 15
11
28
15

C语言代码实现如下:

#include<stdio.h>int main(){    int t,i=0,j=0,sum[100]={0},a[100]={0};    int k;    while(scanf("%d",&t)!=EOF){        if(t==0){            break;        }        for(i=0;i<t;i++){            scanf("%d",&a[i]);            sum[j] += a[i];        }        j++;    }    for(k=0;k<j;k++){        printf("%d\n",sum[k]);    }    return 0;}

A+B问题五:先输入一个数表示一共有几行输入,然后每行的第一个数表示该行数的个数,结果输出每行的和。例:

输入:2
4 1 2 3 4
5 1 2 3 4 5

输出:10
15

C语言代码实现如下:

#include<stdio.h>int main(){    int i=0,j,n,t,d,k=0,a[100]={0},sum[100]={0};    scanf("%d",&n);    while(i!=n){        scanf("%d",&d);        for(j=0;j<d;j++){            scanf("%d",&a[j]);            sum[k] += a[j];        }        k++;        i++;    }    for(t=0;t<k;t++){        printf("%d\n",sum[t]);    }    return 0;}
0 0
原创粉丝点击