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诺机试指南》(七)排版类问题的更多相关文章

  1. 《N诺机试指南》(五)进制转化

    进制转化类题目类型: 代码详解及注释解答:  //进制转化问题 #include <bits/stdc++.h> using namespace std; int main(){ // 1 ...

  2. 《N诺机试指南》(二)C++自带实用函数

    1.排序sort函数: 2.查找:  实例:  3. 队列:

  3. 《N诺机试指南》(三)STL使用

    1.vector 2.queue 3.stack 4.map 5.set 6.多组输入输出问题 详解见代码以及注释: //学习STL的使用 #include <bits/stdc++.h> ...

  4. 《N诺机试指南》(一)数组妙用

    题目A: 大家思路有可能是这样: 将输入数据全部存储到一个数组里,然后可以冒泡排序一波,从小到大排序 那么怎么找到重复次数呢:我是这样想的,新定义数组b,原数组a,首先b[0] = a[0],定义指针 ...

  5. 《N诺机试指南》(八)日期、字符串、排序问题

    1.日期问题: 输入: 例题: 代码: #include <stdio.h> #include <bits/stdc++.h> struct node{ int year, m ...

  6. 机试指南第二章-经典入门-Hash的应用自解

    Hash的应用: Hash即散列,不像数据结构与算法中讲的各种Hash方法和冲突处理等过多的阐述,以下主要介绍Hash在机试试题解答中的作用. 例2.5 统计同成绩学生人数 Hash解法AC代码:(一 ...

  7. 王道机试指南题解(C/C++版)

    第 2 章 经典入门 一 排序 例 2.1 排序 代码 2.1 冒泡排序(时间复杂度 \(O(n^2)\)) #include <iostream> using std::cin; usi ...

  8. 【转】朱兆祺教你如何攻破C语言学习、笔试与机试的难点(连载)

    原文网址:http://bbs.elecfans.com/jishu_354666_1_1.html 再过1个月又是一年应届毕业生应聘的高峰期了,为了方便应届毕业生应聘,笔者将大学四年C语言知识及去年 ...

  9. Swift语言指南(七)--语言基础之布尔值和类型别名

    原文:Swift语言指南(七)--语言基础之布尔值和类型别名 布尔值 Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false ...

随机推荐

  1. VMware显示错误:“未能锁定文件 无法打开磁盘 ..\*.vmdk 或者某一个快照所依赖的磁盘。”解决办法

    问题描述: 使用VMware时遇到错误:“未能锁定文件 无法打开磁盘 ..\*.vmdk 或者某一个快照所依赖的磁盘.” 问题出现的原因: 虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚 ...

  2. GeneXus DevOps 自动化构建和部署流程

    以下视频详细介绍了GeneXus DevOps自动化构建和部署流程,包括通过MS Bulid来管理自动化流程,自动化的架构,以及在GeneXus Server上使用Jenkins做为自动化引擎. 视频 ...

  3. TensorFlow——Graph的基本操作

    1.创建图 在tensorflow中,一个程序默认是建立一个图的,除了系统自动建立图以外,我们还可以手动建立图,并做一些其他的操作. 下面我们使用tf.Graph函数建立图,使用tf.get_defa ...

  4. 递推 dp - 求有多少个序列符合题意

    题目描述     小美有一个由n个元素组成的序列{a1,a2,a3,...,an},她想知道其中有多少个子序列{ap1,ap2,...,apm}(1 ≤ m ≤ n, 1 ≤ p1 < p2 , ...

  5. hdu4417 主席树求区间小于等于K

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4417   Problem Description Mario is world-famous plum ...

  6. 使用ajax向后台发送请求跳转页面无效的原因

    Ajax只是利用脚本访问对应url获取数据而已,不能做除了获取返回数据以外的其它动作了.所以浏览器端是不会发起重定向的. 1)正常的http url请求,只有浏览器和服务器两个参与者.浏览器端发起一个 ...

  7. Vue 例子

    一.简单音乐播放器 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. 如何在GitHub上大显身手?

    推荐一篇良许大佬的文章,如何在github上大显身手.拥有自己的github,且有所贡献,这是一件很有意义的的事情,在面试上也是加分项哦,赶紧搞起来. 转载至http://uee.me/aHAfN 这 ...

  9. Sublime Text 3 安装包

    摘要 Error while loading PyV8 binary:exit code 3 .sublime-package报错 安装SublimeREPL,可以运行python代码 安装local ...

  10. linux 为动态分配的Virtualbox虚拟硬盘扩容

    如何为动态分配的Virtualbox虚拟硬盘扩容 查看虚拟硬盘是否是动态分配大小 打开虚拟机的设置界面,在左侧栏点击存储.在存储树下面选择你的虚拟硬盘.在右边可以看见虚拟硬盘的信息.在下面可以看见,我 ...