《N诺机试指南》(七)排版类问题
1.菱形问题:


解析: 主要通过打印空格和星形来打印整个图形,将整体分为=上三角形+下三角形
首先观察上三角形可以发现:第一行2个空格1个星、第二行1个空格3个星、第三行0个空格5个星
空格数:2-->1-->0 、星数:1-->3-->5
代码:
#include <bits/stdc++.h>
using namespace std; int main(){
1.打印菱形
int n;
scanf("%d", &n);//输入打印菱形对角边
//打印上三角形
for(int i=1; i<=n; i++){
//打印空格:个数变化2-->1-->0
for(int j=1; j<=n-i; j++){
printf(" ");
}
//打印*:个数变化1-->3-->5 (2i-1)
for(int j=n-i+1; j<n+i; j++){
printf("*");
}
printf("\n");
}
//打印下三角形=上三角反过来输出
for(int i=n-1; i>=1; i--){
for(int j=1; j<=n-i; j++){
printf(" ");
}
for(int j=n-i+1; j<n+i; j++){
printf("*");
}
printf("\n");
}
return 0
}
在打印上三角时候:

只要满足2i-1即可
2.杨辉三角:


解析:杨辉三角主要是某一行某一列的那个数 = 上一行那一列前面一个的数 + 上一行那一列的数
代码:
2.打印杨辉三角
int a[21][21] = {0};
int n;
while( scanf("%d", &n)!=EOF ){
if( n==0 )
return -1;
a[1][1] = 1;
for(int i=2; i<=n; i++){//从第二行开始
for(int j=1; j<=i; j++){
//这是重点!
a[i][j] = a[i-1][j] + a[i-1][j-1];
}
}
for(int i=1; i<=n; i++){
for(int j=1; j<=i; j++){
printf("%d ", a[i][j]);
}
printf("\n");
}
}
练习:

《N诺机试指南》(七)排版类问题的更多相关文章
- 《N诺机试指南》(五)进制转化
进制转化类题目类型: 代码详解及注释解答: //进制转化问题 #include <bits/stdc++.h> using namespace std; int main(){ // 1 ...
- 《N诺机试指南》(二)C++自带实用函数
1.排序sort函数: 2.查找: 实例: 3. 队列:
- 《N诺机试指南》(三)STL使用
1.vector 2.queue 3.stack 4.map 5.set 6.多组输入输出问题 详解见代码以及注释: //学习STL的使用 #include <bits/stdc++.h> ...
- 《N诺机试指南》(一)数组妙用
题目A: 大家思路有可能是这样: 将输入数据全部存储到一个数组里,然后可以冒泡排序一波,从小到大排序 那么怎么找到重复次数呢:我是这样想的,新定义数组b,原数组a,首先b[0] = a[0],定义指针 ...
- 《N诺机试指南》(八)日期、字符串、排序问题
1.日期问题: 输入: 例题: 代码: #include <stdio.h> #include <bits/stdc++.h> struct node{ int year, m ...
- 机试指南第二章-经典入门-Hash的应用自解
Hash的应用: Hash即散列,不像数据结构与算法中讲的各种Hash方法和冲突处理等过多的阐述,以下主要介绍Hash在机试试题解答中的作用. 例2.5 统计同成绩学生人数 Hash解法AC代码:(一 ...
- 王道机试指南题解(C/C++版)
第 2 章 经典入门 一 排序 例 2.1 排序 代码 2.1 冒泡排序(时间复杂度 \(O(n^2)\)) #include <iostream> using std::cin; usi ...
- 【转】朱兆祺教你如何攻破C语言学习、笔试与机试的难点(连载)
原文网址:http://bbs.elecfans.com/jishu_354666_1_1.html 再过1个月又是一年应届毕业生应聘的高峰期了,为了方便应届毕业生应聘,笔者将大学四年C语言知识及去年 ...
- Swift语言指南(七)--语言基础之布尔值和类型别名
原文:Swift语言指南(七)--语言基础之布尔值和类型别名 布尔值 Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false ...
随机推荐
- hadoop配置环境变量
hadoop安装包解压 tar -xvf hadoop-2.7.7.tar.gz 解压成功ll查看文件 配置环境变量 1. vi /home/wj/hadoop-2.7.7/etc/hadoop/h ...
- 【阿里云IoT+YF3300】11.物联网多设备快速通信级联
我们见到的很多物联网设备,大都是“一跳”上网,所谓的“一跳”就是设备直接上网,内嵌物联网模块或者通过DTU直接上网.其实稍微复杂的物联网现场,往往网关下面连接若干物联网设备(如下图),并且这些物联网设 ...
- C++生成dll以及调用(函数)和类
C++新手,方法可能有很多,此方法仅仅是自己实验并可行,详细步骤如下: 生成dll文件和lib文件: (1) 新建项目-windows桌面向导,选择动态链接.dll以及空项目: (2)复制代码(头文件 ...
- 你还不会Git?那就不要写代码了(一)
Git应用开发学习 如果你还不会使用Git,那就不要写代码了. 一旦你会使用了Git,就再也不想使用SVN了.永远也回不去了. Mac上使用Git,肯定离不开对Mac上的操作.就要使用常用的Linux ...
- python列表的方法(改变原列表)
xxx.append() 末尾添加一个元素效果图: 代码: # append() 末尾添加一个元素 my_list = ['] print('原列表:',my_list) my_list.a ...
- python条件(三元)运算符
条件运算符 是 三元运算符 语法: 语句1 if 条件表达式 else 语句2 执行流程: 条件运算符在执行时,会先对条件表达式进行求值判断 如果判断结果为True,则执行 ...
- ancconda创建爬虫项目
# 安装 conda env list conda create -n <envname> conda activate <envname> conda install scr ...
- Qt Installer Framework翻译(3-0)
终端用户使用流程 离线安装和在线安装对终端用户来说是相似的.安装程序将你的应用程序和维护工具一起打包,该工具由包管理器,更新程序和卸载程序组成.用户可以使用维护工具来添加,更新和删除组件.维护工具连接 ...
- JS基础——ATM机终端程序编写(3.0)
利用函数进行代码实现,要点:将每一项操作单独写成一个函数,在需要时进行调用,弄清参数的传递. 创建模拟账户 使用数组创建账户 let user = ["xiaohei", 1234 ...
- CentOS7下部署2套Python版本共存
参考地址:https://www.cnblogs.com/xuaijun/p/7985245.html 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make in ...