《演算法筆記》2.10小節
阿新 • • 發佈:2018-12-15
這章就老實點按意圖用下scanf和printf吧...感覺語文水平被重新整理了?
問題 A: A+B 輸入輸出練習I
題目描述
你的任務是計算a+b。這是為了acm初學者專門設計的題目。你肯定發現還有其他題目跟這道題的標題類似,這些問題也都是專門為初學者提供的。
輸入
輸入包含一系列的a和b對,通過空格隔開。一對a和b佔一行。
輸出
對於輸入的每對a和b,你需要依次輸出a、b的和。
如對於輸入中的第二對a和b,在輸出中它們的和應該也在第二行。
樣例輸入
1 5 10 20
樣例輸出
6 30
#include<iostream> #include<cstdio> using namespace std; int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF){ printf("%d\n",a+b); } return 0; }
問題 B: A+B 輸入輸出練習II
題目描述
你的任務是計算a+b。
輸入
第一行是一個整數N,表示後面會有N行a和b,通過空格隔開。
輸出
對於輸入的每對a和b,你需要在相應的行輸出a、b的和。
如第二對a和b,對應的和也輸出在第二行。
樣例輸入
2 1 5 10 20
樣例輸出
6 30
#include<iostream> #include<cstdio> using namespace std; int main() { int N,a,b; scanf("%d",&N); while(N--){ scanf("%d%d",&a,&b); printf("%d\n",a+b); } return 0; }
問題 C: A+B 輸入輸出練習III
題目描述
你的任務是計算a+b。
輸入
輸入中每行是一對a和b。其中會有一對是0和0標誌著輸入結束,且這一對不要計算。
輸出
對於輸入的每對a和b,你需要在相應的行輸出a、b的和。
如第二對a和b,他們的和也輸出在第二行。
樣例輸入
1 5 10 20 0 0
樣例輸出
6 30
#include<iostream> #include<cstdio> using namespace std; int main() { int a,b; while(scanf("%d%d",&a,&b),a||b){ printf("%d\n",a+b); } return 0; }
問題 D: A+B 輸入輸出練習IV
題目描述
你的任務是計算若干整數的和。
輸入
每行的第一個數N,表示本行後面有N個數。
如果N=0時,表示輸入結束,且這一行不要計算。
輸出
對於每一行資料需要在相應的行輸出和。
樣例輸入
4 1 2 3 4 5 1 2 3 4 5 0
樣例輸出
10 15
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int N;
while(scanf("%d",&N),N)
{
int a,b=0;
while(N--){
scanf("%d",&a);
b=a+b;
}
printf("%d\n",b);
}
return 0;
}
有沒有更好的寫法?求推薦
問題 E: A+B 輸入輸出練習V
題目描述
你的任務是計算若干整數的和。
輸入
輸入的第一行是一個正數N,表示後面有N行。每一行的第一個數是M,表示本行後面還有M個數。
輸出
對於每一行資料需要在相應的行輸出和。
樣例輸入
2 4 1 2 3 4 5 1 2 3 4 5
樣例輸出
10 15
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int M,N;
scanf("%d",&N);
while(scanf("%d",&M),N)
{
int a,b=0;
while(M--){
scanf("%d",&a);
b=a+b;
}
printf("%d\n",b);
N--;
}
return 0;
}
問題 F: A+B 輸入輸出練習VI
題目描述
你的任務是計算若干整數的和。
輸入
每行的第一個數N,表示本行後面有N個數。
輸出
對於每一行資料需要在相應的行輸出和。
樣例輸入
4 1 2 3 4 5 1 2 3 4 5
樣例輸出
10 15
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int N;
while(scanf("%d",&N)!=EOF)
{
int a,b=0;
while(N--){
scanf("%d",&a);
b=a+b;
}
printf("%d\n",b);
}
return 0;
}
問題 G: A+B 輸入輸出練習VII
題目描述
你的任務是計算兩個整數的和。
輸入
輸入包含若干行,每行輸入兩個整數a和b,由空格分隔。
輸出
對於每組輸入,輸出a和b的和,每行輸出後接一個空行。
樣例輸入
1 5 10 20
樣例輸出
6 30
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
printf("%d\n\n",a+b);
}
return 0;
}
問題 H: A+B 輸入輸出練習VIII
題目描述
你的任務是計算若干整數的和。
輸入
輸入的第一行為一個整數N,接下來N行每行先輸入一個整數M,然後在同一行內輸入M個整數。
輸出
對於每組輸入,輸出M個數的和,每組輸出之間輸出一個空行。
樣例輸入
3 4 1 2 3 4 5 1 2 3 4 5 3 1 2 3
樣例輸出
10 15 6
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int M,N;
scanf("%d",&N);
while(scanf("%d",&M),N)
{
int a,b=0;
while(M--){
scanf("%d",&a);
b=a+b;
}
printf("%d\n",b);
N--;
if(N>0)printf("\n");
}
return 0;
}