C语言基础练习——打印菱形
C语言基础练习——打印菱形
JERRY_Z. ~ 2020 / 8 / 26
转载请注明出处!
代码:
/*
* @Author: JERRY_Z.
* @Date: 2020-08-26 17:17:38
* @LastEditTime: 2020-08-26 18:09:48
* @FilePath: \undefinede:\MyCode\Blog\C算法题\打印菱形\打印菱形.c
*/
#include <stdio.h>
int main(void){
int n; //用于接收用户输入的菱形行数
printf("Please enter the row number of the diamond (odd number) n:");
scanf("%d", &n);
int h1 = 0; //计数器 h1:从0起,记录当前行号为整体的第几行
int h2 = 0; //计数器 h2:从0起,记录当前行号为整体后半段的第几行
while (h1 < n) { //行循环
++h1; //进入新一行,h1+1
int k = 0; //计数器 k:从0起,记录当前行的起始空格数
int x = 0; //计数器 x:从0起,记录当前行的 '*' 数
if (h1 <= (n/2)+1) { //行号属于菱形的上半段时执行
while (k <= (n/2)+1-h1) { //循环打印起始空格
printf(" ");
++k;
}
while (x != h1) { //循环打印 '*' 号
printf("* ");
++x;
}
}//if
else { //行号属于菱形的下半段时执行
++h2; //进入菱形后半段新一行,h2+1
while (k <= h2) { //循环打印起始空格
printf(" ");
++k;
}
while (x != n-h1+1) { //循环打印 '*' 号
printf("* ");
++x;
}
}//else
printf("\n"); //行末尾换行
}//while
return 0;
}
运行结果:
附:
交流方式:
QQ: 1846334075
WeChat: zhoujirui54
CSDN:https://blog.csdn.net/D_si_God
Cnblogs:https://www.cnblogs.com/JERRY-Z-J-R/
GitHub:https://github.com/JERRY-Z-J-R
Gitee:https://gitee.com/JERRY-Z-J-R
C语言基础练习——打印菱形的更多相关文章
- C语言基础练习——打印乘法口诀表
C语言基础练习--打印乘法口诀表 JERRY_Z. ~ 2020 / 8 / 26 转载请注明出处! 代码: /* * @Author: JERRY_Z. * @Date: 2020-08-26 16 ...
- C语言初学 数组 打印菱形
#include<stdio.h> #include<stdlib.h> int main() { int n,i,j; printf("---开始打印符号--\n& ...
- C语言利用for循环打印菱形
C语言利用for循环打印菱形(高度为奇数) 这次用的方法是上下部分分开打印,先打印上部分,再打印下部分. 先举个简单的例子打印,再改进代码,登堂入室从而理解. 例:打印一个高度(高度必须为奇数)为 5 ...
- JAVA 基础编程练习题19 【程序 19 打印菱形图案】
19 [程序 19 打印菱形图案] 题目:打印出如下图案(菱形) * *** ************ ***** *** * 程序分析:先把图形分成两部分来看待,前四行一个 ...
- C#语言基础
第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...
- 【GoLang】GO语言系列--002.GO语言基础
002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...
- php面试题之三——PHP语言基础(基础部分)
三.PHP语言基础 1. strlen( )与 mb_strlen( )的作用分别是什么(新浪网技术部) strlen和mb_strlen都是用于获取字符串长度. strlen只针对单字节编码字符,也 ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
随机推荐
- PHP lcg_value() 函数
实例 返回范围为 (0, 1) 的一个伪随机数: <?phpecho lcg_value();?>高佣联盟 www.cgewang.com 定义和用法 lcg_value() 函数返回范围 ...
- C++程序员容易走入性能优化误区!对此你怎么看呢?
有些C++ 程序员,特别是只写C++ 没有写过 Python/PHP 等慢语言的程序员,容易对性能有心智负担,就像着了魔一样,每写3 行代码必有一行代码因为性能考虑而优化使得代码变形(复杂而晦涩). ...
- luogu4443 coci 2017 Dajave
题目 给出一个长度为2^M的排列,元素分别是0, 1, 2, ... , 2^M -1. 选择其中某个非空连续子序列,然后允许交换这个排列中某两个不同的数,然后使得这个连续子序列的所有数的按位异或(b ...
- 关于SqlServer那些事1(回归基础)
即将实习,回归基础总结,希望可以再好好打磨一下基础的一些东西 关于如何在重新修改表结构时该变其权限设置 步骤: 点击工具 进入选项 设计器 取消勾选阻止保存要求重新创建表的更改 关于创建创建数据库以及 ...
- 【CF115E】Linear Kingdom Races 题解(线段树优化DP)
前言:前辈讲课时设的状态还是有些繁琐,感觉题解设的状态更简洁. -------------- 题目链接 题目大意:给定$n$条道路和$m$场比赛,每个道路修建需要$c_i$,每场比赛需要使用$[l_i ...
- Python库大全,建议收藏留用!
学Python,想必大家都是从爬虫开始的吧.毕竟网上类似的资源很丰富,开源项目也非常多. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. ...
- 微信公众号怎么添加附件?比如word文档,pdf文件等
微信公众号怎么添加附件?比如word文档,pdf文件等 我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序“微附件”进行在公众 ...
- C#LeetCode刷题-随机数
随机数篇 # 题名 刷题 通过率 难度 470 用 Rand7() 实现 Rand10() 34.4% 中等 478 在圆内随机生成点 22.8% 中等 497 非重叠矩形中的随机点 22 ...
- C#LeetCode刷题之#686-重复叠加字符串匹配(Repeated String Match)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3963 访问. 给定两个字符串 A 和 B, 寻找重复叠加字符串A ...
- C#LeetCode刷题之#206-反转链表(Reverse Linked List)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3828 访问. 反转一个单链表. 输入: 1->2-> ...