参考文献
著作権表示:この記事は、CC 4.0BY-SA著作権契約に準拠したCSDNブロガー「YuZhe-HeLijian」によるオリジナルの記事です。転載のために、元のソースリンクとこのステートメントを添付してください。
元のリンク:https://blog.csdn.net/sxhelijian/article/details/8978850
1.1最も単純な入力
例1:
Description
计算 a+b
Input
两个整数 a,b
Output
a+b的值
Sample Input
1 2
Sample Output
3
この最も単純な入力は、一連の入力を受け入れ、この一連の入力の値を計算します。これは通常のプログラミングと同じです。解決策は次のとおりです。
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a, &b);
printf("%d\n",a+b); //对其他题目,换成要求的复杂处理与输出
return 0;
}
1.2入力ファイル(EOF)の終わりが読み取られるまで、複数のデータセットを入力するための1回の実行
例2:
Description
计算 a + b
Input
多组由两个整数(a和b)构成的输入,a和b之间用空格隔开,每组输入单独占一行
Output
每组的两个整数(a和b)求和并输出,每组的求和结果独占一行
Sample Input
1 5
10 20
400 516
Sample Output
6
30
916
この種の入力には複数の入力データのペアが含まれており、読み取るためのループを構築する必要があります。入力のペアがいくつあるかを示すものがないため、入力がいつ終了したかを知る方法が必要です。解決策は次のとおりです。
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d",&a, &b) != EOF) // 输入结束时,scanf函数返回值为EOF(-1),即没有数据输入时会退出while循环
{
printf("%d\n",a+b);
}
return 0;
}
注1:scanf関数の戻り値は、読み取った変数の数です。変数がない場合、戻り値は-1です。EOFは、-1に等しい事前定義された定数です。
注2:キーボードによるデータ入力であるプログラムをデバッグするときは、入力の終わりとしてCTRL-Zの組み合わせを使用します(つまり、CTRLキーを押しながらZを押します)。これは「ファイルの終わり」と呼ばれます。キーボード入力デバイスの"。
1.3 1回の実行で、複数のデータセットを入力する場合、セットの数は最初の入力データによって決定されます(最初にNを入力し、次にNセットのデータを入力します)。
例3:
Description
计算 a + b
Input
第一行是数据的组数N,从第二行是N组由两个整数(a和b)构成的输入,a和b之间用空格隔开,每组输入单独占一行
Output
每组的两个整数(a和b)求和并输出,每组的求和结果独占一行
Sample Input
2
1 5
10 20
Sample Output
6
30
最初の行を読み取ってグループの数Nを決定してから、処理のためにN回実行するループを作成する必要があります。解決策は次のとおりです。
#include<stdio.h>
int main()
{
int n,i;
int a,b;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
}
return 0;
}
1.4入力は、データセットの数を示すものではありませんが、特別な入力で終わります。
「生徒の成績を入力して-1で終わる」などのよくある質問は、よくある質問です。-1ポイントを獲得した生徒がいない場合は、この終了データを取得できます。
例4:
Description
计算 a + b
Input
多组由两个整数(a和b)构成的输入,a和b之间用空格隔开,每组输入单独占一行。当输入为 0 0 时,输入结束。
Output
每组的两个整数(a和b)求和并输出,每组的求和结果独占一行。
Sample Input
1 5
10 20
0 0
Sample Output
6
30
データを処理するためのループを構築し、終了するために必要な入力がループの終了の基礎として検出されたかどうかを確認します。解決策は次のとおりです。
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d",&a, &b) &&(a||b))
{
printf("%d\n",a+b);
}
return 0;
}