web浏览器中的javascript
- 客户端javascript
- 在html里嵌入javascript
- javascript程序的执行
- 兼容性和互用性
- 可访问性
- 安全性
- 客户端框架
window对象
-
计时器
-
浏览器定位和导航
-
浏览历史
-
浏览器和屏幕信息
-
对话框
-
错误处理
-
作为window对象属性的文档元素
* * * * * * *
* * * * *
* * *
*
#include <stdio.h>
int main()
{
int i,j,n;
scanf("%d",&n);
int k=(n+1)/2;
for(i=1;i<=k;i++){
for(j=1;j<=n-2*i+1;j++){
printf(" ");
}
for(j=1;j<=2*i-1;j++){
printf("* ");
}
printf("\n");
}
for(i=n-k;i>=1;i--){
for(j=1;j<=n-2*i+1;j++){
printf(" ");
}
for(j=1;j<=2*i-1;j++){
printf("* ");
}
printf("\n");
}
return 0;
}
运行结果:
题目解析:
- 看到此题目,要想到用循环的嵌套来解决此问题;
- 嵌套的循环可以构成一个平面图案,用 i 控制行, j 控制列;
- 用一个外循环来打印行,此题目需要我们打印一个菱形图案,可以将图案分为上下两个部分,并对上下两个部分的图行进行仔细分析,找出一行中空格和 * 号的数量规律。
for(i=1;i<=k;i++){ //打印行
for(j=1;j<=n-2*i+1;j++){ //打印空格
printf(" ");
}
for(j=1;j<=2*i-1;j++){ //打印*和空格
printf("* ");
}
printf("\n"); //换行
}
- 分析图形的下半部分,第5行到第六行,可以再用一个for循环来控制,外循环的i从 n-(n+1)/2开始,这里需要注意的地方是每一行图形的数量是依次减少的,空格的数量是依次增加的,同样找出图形的规律,用循环的嵌套将此图形实现。
二 、习题延申
上面打印的图形,每两个 * 号之间有一个空格,且写的代码用了两个循环的嵌套,针对此类题目做一个优化,接下来写的代码,和此题目类似,区别是用一个循环的嵌套来输出图形。此代码输出的图形每两个*号之间没有空格,只要找准(*)星号,空格,n之间的关系,解决此类题目的方法都一样。
#include <stdio.h>
#include<math.h>
int main()
{
int n,i,j,k;
scanf("%d",&n);
k=(n+1)/2;
for(i=1;i<=n;i++){ //打印行
for(j=1;j<=abs((n+1)/2-i);j++){
printf(" "); //打印空格
}
for(j=1;j<=n-abs((k-i))*2;j++){
printf(""); //打印
}
printf("\n"); //换行
}
return 0;
}
1、abs()函数:绝对值函数;
2、以n=9为例,给出下列解题思路。
三、
--
打印空的菱形,空菱形的特点是只有第一个和最后一个位置上需要打印*,其余打印空格。
web浏览器中的javascript
- 客户端javascript
- 在html里嵌入javascript
- javascript程序的执行
- 兼容性和互用性
- 可访问性
- 安全性
- 客户端框架
- 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
window对象
-
计时器
-
浏览器定位和导航
-
浏览历史
-
浏览器和屏幕信息
-
对话框
-
错误处理
-
作为window对象属性的文档元素