题目描述:⑴一行输出一个实数;⑵一行内输出两个实数;⑶一行内输出三个实数。实数用"6.2f"格式输出。
输入格式: 一个实数,float范围
输出格式:输出3行,第一行打印一遍输入的数,第二行打印两遍,第三行打印三遍。 第二行和第三行,用空格分隔同一行的数字。 实数用"6.2f"格式输出。
注意事项:
1.题目要求的变量类型
2.实数的输出格式
3.输出时,实数之间用空格隔开
解题思路:
1.定义一个float类型实数
拓展:float是浮点数类型,表示单精度浮点数。float类型通常使用32位(4个字节)内存空间来存储,1位表示符号,8位表示指数,23位表示尾 数。单精度(float)相对于双精度(double)浮点数表示的数值范围较小。
2.输出三行,每行需要用“\n”转义字符用于换行
3.第一行一个实数,第二行两个实数,第三行三个实数,可以发现每行输出的实数数量递增并且跟行数一致
方法一:嵌套循环
外层循环可以控制内层循环循环的次数
内层循环可以控制其内容执行的次数
(1).第一次输出一个数:当外层循环开始第一次循环时,内层循环的限制条件限制其执行一次
(2).第一次输出两个数:当外层循环开始第二次循环时,内层循环的限制条件限制其只执行两次
...
内层循环循环结束时,就完成了一行的输出,这时就需要换行,保证内层循环再次进行时,输出的内容在下一行。
外层循环完成三次循环后,同时也意味着三行内容输出完毕。
方法二:
1.直接使用单个printf语句进行输出
2.使用三个printf语句进行输出
----------------------------------------------------------------------------------------------------------
拓展:
方法一比方法二(单个printf语句)效率高
方法一比方法二(多个printf语句)效率低
效率相差不大,时间复杂度都是O(1)
1.方法一比方法二(单个printf语句)效率高:
单个printf语句进行输出的缺点:
(1).需要在一次函数调用中完成多个实数的输出
(2).单个printf语句输出多个实数,需要对每个实数进行格式化,一定的时间开销
(3).将多个实数作为参数传递给printf函数,涉及到参数传递机制和内存访问的效率
(4).进行了多次IO操作耗费一定时间
循环嵌套优势:
(1).内层循环中调用printf语句次数不固定,随着外层循环的变化而变化,不需要在一次调用中完成全部输出
(2).可读性和可维护性,直观地表达代码的逻辑,可以通过修改循环条件或者增加循环嵌套来实现不同的输出格式
2.方法一比方法二(多个printf语句)效率低:
多个printf语句进行输出的优点:
每个printf函数只进行一次格式化和写入操作,降低了单个printf语句带来的时间开销
循环嵌套缺点:
跟单个printf语句比有优势,但是循环中需要进行条件判断、变量递增等操作,这些操作会增加程序的运行时间
总结:
就本题来说,三种写法,时间复杂度相差不大,都是O(1),选择更易读、更易理解,易于维护、标准化的写法的代码。
参考代码:
一 循环嵌套
#include<stdio.h> int main() { float a; scanf("%f",&a); for(int i=1;i<=3;i++) { for(int j=1;j<=i;j++) { printf("%6.2f",a); if(j!=i)printf(" "); } printf("\n"); } return 0; }
#include<stdio.h> int main() { float a; scanf("%f",&a); printf("%6.2f\n%6.2f %6.2f\n%6.2f %6.2f %6.2f", x, x, x, x, x, x); return 0; }
#include <stdio.h> int main() { float x; scanf("%f", &x); printf("%6.2f\n", x); printf("%6.2f %6.2f\n", x, x); printf("%6.2f %6.2f %6.2f\n", x, x, x); return 0; }
有点啰嗦,希望对你有帮助~
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复