C语言利用for循环打印菱形(高度为奇数)

这次用的方法是上下部分分开打印,先打印上部分,再打印下部分。

先举个简单的例子打印,再改进代码,登堂入室从而理解。

例:打印一个高度(高度必须为奇数)为 5 的菱形,上下拆分 就是 上部分为 3行的三角形 ,下部分为2行的倒三角形(代码如下:)

#include<stdio.h>
int main()
{
int i,j;
for(i = 1;i <= 3;i++)//打印高度为3的三角形
{
for(j=i;j<=3;j++)//打印上部分空格
{
printf(" ");
}
for(j = 1;j <= 2*i-1;j++)//打印三角形实体
{
printf("*");
}
printf("\n");
}
//=================================上下部分分界线
for(i = 1;i <= 2;i++) //打印下部分高度为2的倒三角形
{
for(j = 1;j <= (2+i)-1;j++) //打印下部分空格
{
printf(" ");
}
for(j = 1;j <= 5-(i*2);j++)//打印倒三角形实体
{
printf("*");
}
printf("\n");
} return 0;
}

效果图如下:

我们知道上面的原理 我就就可以进阶的改写代码 从而实现打印任意高度的菱形

我们要求输入高度 且 改变里面的数值 就得到了以下代码:

#include<stdio.h>
int main()
{
int i,j,height;
printf("please enter height:");
scanf("%d",&height);
for(i = 1;i <= (height / 2) + 1;i++)//打印高度为height的三角形
{
for(j=i;j<= (height / 2) + 1;j++)//打印上部分空格
{
printf(" ");
}
for(j = 1;j <= 2*i-1;j++)//打印三角形实体
{
printf("*");
}
printf("\n");
}
//=================================上下部分分界线
for(i = 1;i <= height / 2;i++) //打印下部分高度的倒三角形
{
for(j = 1;j <= (2+i)-1;j++) //打印下部分空格
{
printf(" ");
}
for(j = 1;j <= height - (i*2);j++)//打印倒三角形实体
{
printf("*");
}
printf("\n");
} return 0;
}

效果图:

注意:这里的高度必须是奇数,否者是不能打印出来菱形的!

说明:这里的打印空格 和 打印三角形实体 是需要算出来的,可以去研究一下。

最后:希望能帮到有需要的人。

C语言利用for循环打印菱形的更多相关文章

  1. 编程题:利用for循环打印 9*9 表?

    利用for循环打印 9*9  表? 1*1=1 1*2=2  2*2=4 1*3=3  2*3=6  3*3=9 1*4=4  2*4=8  3*4=12  4*4=16 1*5=5  2*5=10  ...

  2. 用for循环打印菱形

    package nothh; public class mmm { public static void main(String[] args) { //for循环内的 for按顺序运算,先打印1/4 ...

  3. Java学习之for循环打印菱形练习

    for循环语句是Java程序设计中非常有用的循环语句.一个for循环可以用来重复执行某条语句,直到某个条件得到满足.在Java 5新增的加强的foreach语法,也非常有用. 1. for语句 for ...

  4. 作业4.5-2用for循环打印菱形

    package lx; public class lx { public static void main(String[] args) { for(int i = 1;i <= 10 ;i++ ...

  5. for循环 打印菱形 空 和 实

    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><?ph ...

  6. 使用SQL循环打印'*'菱形

    菱形每一行都是由n个' ' + n 个'**' + 1个'*' 组成的 例如高度为9的菱形(共print 9次),*最多的一次print为第五次第五次就是0个' '  + 4个'**' + 1个'*' ...

  7. C#利用for循环打印图形练习题

    (1) namespace ConsoleApp2 { class Program { static void Main(string[] args) { ; i < ; i++)//外层循环控 ...

  8. 第4章 流程控制----编写Java程序,应用for循环打印菱形

    package four; public class fouroneone { public static void main(String args[]){ ;i<=;i+=){ ;kong& ...

  9. C语言基础练习——打印菱形

    C语言基础练习--打印菱形 JERRY_Z. ~ 2020 / 8 / 26 转载请注明出处! 代码: /* * @Author: JERRY_Z. * @Date: 2020-08-26 17:17 ...

随机推荐

  1. 【DB宝19】在Docker中使用MySQL高可用之MHA

    目录 一.MHA简介和架构 1.1 MHA简介 1.2 MHA工具包的组成 1.3 MHA架构 二.准备MHA环境 2.1 下载MHA镜像 2.2 编辑yml文件,创建MHA相关容器 2.3 安装do ...

  2. Azure Functions(二)集成 Azure Blob Storage 存储文件

    一,引言 上一篇文章有介绍到什么是 SeverLess ,ServerLess 都有哪些特点,以及多云环境下 ServerLess 都有哪些解决方案.在这众多解决方案中就包括 Function App ...

  3. re模块之简单计算器的实现

    本节大纲: 表达式的输入及检查.格式化 怎么样进行匹配最里面的括号以及操作数的匹配 如何实现表达式的四则运算 完整代码展示 在我们学习re模块之后,通常的练习就是利用所学相关知识来写一个计算器 那么, ...

  4. Java线程池实现原理及其在美团业务中的实践

    本文转载自Java线程池实现原理及其在美团业务中的实践 导语 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流.使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器.J.U.C提供 ...

  5. [C语言学习笔记三]格式化输出和输入

    使用 printf 函数来输出,使用 scanf 函数来输入 在 printf 函数中使用变量,需要使用占位符代替. int 型一般存储整数,使用 %d 代替 long long int 型一般存储长 ...

  6. Java基本概念:异常

    一.简介 描述: 异常(Exception)指不期而至的各种状况,异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据. 要打开的文件不存在. 网络通信时连接中断,或者JVM内存溢出. 异常 ...

  7. MySQL连接中出现的问题

    异常: Establishing SSL connection without server's identityverification is not recommended. According ...

  8. 适配三星Galaxy S8及S8+ 屏幕比例为 18.5:9

    开发者只需在App的AndroidManifest.xml文件<application> </application>中添加如下代码: <meta-data androi ...

  9. 【HTB系列】靶机Chaos的渗透测试详解

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) 知识点: 通过域名或者IP可能会得到网站的不同响应 Wpscan的扫描wordpress ...

  10. pytorch(07)数据模型的读取

    DataLoader与Dataset pytorch中的数据读取机制 graph TB DataLoader --> DataLoaderIter DataLoaderIter --> S ...