题目 1040: [编程入门]实数的打印

一个实数,float范围

输出格式

输出3行,第一行打印一遍输入的数,第二行打印两遍,第三行打印三遍。 第二行和第三行,用空格分隔同一行的数字。 实数用"6.2f"格式输出。

样例输入

复制

0.618

样例输出

复制

  0.62
  0.62   0.62
  0.62   0.62   0.6

观察输出发现·第1行输出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的区别:

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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值