実数、浮動小数点範囲
出力フォーマット
3 行を出力します。最初の行は入力数値を 1 回出力し、2 行目は 2 回出力し、3 行目は 3 回出力します。2 行目と 3 行目では、同じ行の数字をスペースで区切ります。実数は「6.2f」形式で出力されます。
サンプル入力
コピー
0.618
サンプル出力
コピー
0.62 0.62 0.62 0.62 0.62 0.6
出力を観察すると、最初の行は 1 を出力し、2 行目は 2 を出力し、3 行目は 3 を出力していることがわかりました。
3X3 の二重層 for ループを使用します。ローカル変数 i の範囲は 1~3です。外側の層は行番号を表し、内側の層は出力の数を表します。
外側のステートメントはローカル変数 cnt=0を設定するもので、素数を見つけて isPrime のブール値を初期化するのと少し似ています。
..>しかし、これは最善の方法ではありません。
方法 1:
//实数的打印
#include<iostream>
using namespace std;
int main() {
float num;
cin >> num;
int cnt = 1; //计数仔上线 初始为1表示:第1行输出1个 第2行输出2个
for (int j = 1; j <= 3; j++) { //一共输出3次
cnt = 0;
for (int i = 1; i <= 3; i++) { //每一行输出对应的个数
if (cnt == j && cnt != 3) { //第三次不endl跳行
cout << endl;
break;
}
printf("%6.2f ", num); //专业四舍五入-留两位
++cnt; //自增1 表示本行输出1个num
}
}
return 0;
}
方法 2:
専門家の中には、 cntを数えるのは面倒だから、i==jで判断すればいい、出力数は行数だよね、と考える人もいるかもしれないが、そうだ。
ブレークとコンティニューの違いについては、次のようになります。
Break` ステートメントは、内側のループの実行を完全に終了し、外側のループを続行するために使用されます。
「Continue」ステートメントは、この内部ループの残りのコードをスキップし、内部ループの次の反復に直接進むために使用されます。
;そして満たされたと判断した後は、現在の行に出力する必要がなくなるので、内側のループから完全に抜け出して次の外側のループに進みます。
//实数的打印
#include<iostream>
#include<iomanip>
using namespace std;
int main() {
float num;
cin >> num;
for (int j = 1; j <= 3; j++) { //一共输出3次
for (int i = 1; i <= j; i++) { //每一行输出对应的个数
printf("%6.2f ", num);
if (i == j) {
cout << endl;
break;
}
}
}
return 0;
}