黑盒测试统一在一篇博客里,不再区分。
要求:A+B 输入输出练习I
http://codeup.cn/problem.php?cid=100000574&pid=0
说明:
感觉c[1000]用来暂存a+b的和就是耍流氓。。。但暂时还不会弄可变数组。。
代码:
#include <stdio.h>
#include <string.h>
int main(){
int a,b;
int c[1000];
int i = 0;
while(scanf("%d%d",&a,&b) !=EOF){
c[i++] = a + b;
}
for(int j = 0;j <i;j++){
printf("%d\n",c[j]);
}
}
要求:A+B 输入输出练习II
http://codeup.cn/problem.php?cid=100000574&pid=1
说明:
继续c[1000]。。。
代码:
#include <stdio.h>
int main(){
int N,a,b;
int c[1000];
scanf("%d",&N);
for(int i = 0;i <N;i++){
scanf("%d %d",&a,&b);
c[i] = a + b;
}
for(int i= 0;i <N;i++){
printf("%d\n",c[i]);
}
}
要求:A+B 输入输出练习III
http://codeup.cn/problem.php?cid=100000574&pid=2
说明:
同上
代码:
#include <stdio.h>
int main(){
int a,b;
int c[1000];
int i = 0;
while(scanf("%d %d",&a,&b) != EOF , a||b){
c[i++] = a+b;
}
for(int j = 0;j <i;j++){
printf("%d\n",c[j]);
}
}
要求:A+B 输入输出练习IV
http://codeup.cn/problem.php?cid=100000574&pid=3
说明:
用了一个二维数组来存数,其实可以尝试下不存数,只在每次输出时存和呢?
代码:
#include <stdio.h>
int main(){
int n,a,b;
int c[100][1000];
int d[1000];
int sum = 0;
int t = 0;
while(scanf("%d",&n) != EOF,n!=0){
for(int i = 0;i <n;i++){
scanf("%d",&c[t][i]);
sum = sum + c[t][i];
}
d[t] = sum;
//printf("sum=%d t的值=%d\n",d[t],t);
sum = 0;
t++;
}
//printf("t的值=%d\n",t);
for(int j = 0;j <t;j++){
printf("%d\n",d[j]);
}
}
要求:A+B 输入输出练习V
http://codeup.cn/problem.php?cid=100000574&pid=4
说明:
在上一个基础上改了改。。。
代码:
#include <stdio.h>
int main(){
int start,n,a,b;
int c[100][1000];
int d[1000];
int sum = 0;
//start记录输入多少行
scanf("%d",&start);
//用start循环
for(int e = 0;e <start;e++){
//n记录每行多少个数字
scanf("%d",&n);
for(int i = 0;i <n;i++){
scanf("%d",&c[e][i]);
sum = sum + c[e][i];
}
d[e] = sum;
//sum每次循环结束要重置为0
sum = 0;
}
for(int j = 0;j <start;j++){
printf("%d\n",d[j]);
}
}
要求:A+B 输入输出练习VI
http://codeup.cn/problem.php?cid=100000574&pid=5
说明:
就是上面一道题删掉输入为0这个条件即可
代码:
#include <stdio.h>
int main(){
int n,a,b;
int c[100][1000];
int d[1000];
int sum = 0;
int t = 0;
while(scanf("%d",&n) != EOF){
for(int i = 0;i <n;i++){
scanf("%d",&c[t][i]);
sum = sum + c[t][i];
}
d[t] = sum;
//printf("sum=%d t的值=%d\n",d[t],t);
sum = 0;
t++;
}
//printf("t的值=%d\n",t);
for(int j = 0;j <t;j++){
printf("%d\n",d[j]);
}
}
要求:A+B 输入输出练习VII
http://codeup.cn/problem.php?cid=100000574&pid=6
说明:
同样的是上面一题改改,加个输出空行即可
代码:
#include <stdio.h>
#include <string.h>
int main(){
int a,b;
int c[1000];
int i = 0;
while(scanf("%d%d",&a,&b) !=EOF){
c[i++] = a + b;
}
for(int j = 0;j <i;j++){
printf("%d\n",c[j]);
printf("\n");
}
}
要求:A+B 输入输出练习VIII
http://codeup.cn/problem.php?cid=100000574&pid=7
说明:
输出加了个空行,改改。。。
代码:
#include <stdio.h>
int main(){
int start,n,a,b;
int c[100][1000];
int d[1000];
int sum = 0;
//start记录输入多少行
scanf("%d",&start);
//用start循环
for(int e = 0;e <start;e++){
//n记录每行多少个数字
scanf("%d",&n);
for(int i = 0;i <n;i++){
scanf("%d",&c[e][i]);
sum = sum + c[e][i];
}
d[e] = sum;
//sum每次循环结束要重置为0
sum = 0;
}
for(int j = 0;j <start;j++){
printf("%d\n",d[j]);
printf("\n");
}
}