IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c语言代码:格式化输出一颗爱心! -> 正文阅读

[C++知识库]c语言代码:格式化输出一颗爱心!

如图:

?

不管了,先放代码!

解析在后面。

#include<stdio.h>
int main(void)
{
?? ?int a, b, c, d, e;
?? ?for (a = 1; a <= 3; a++)
?? ?{
?? ??? ?for (b = 1; b<=1+2*abs(3-a); b++)
?? ??? ?{
?? ??? ??? ?printf(" ");
?? ??? ?}
?? ??? ?for (c = 1; c <=6+4*(a-1);c++)
?? ??? ?{
?? ??? ??? ?printf("*");
?? ??? ?}
?? ??? ?for (d=1;d<= 1 + 4 * abs(a - 3);d++)
?? ??? ?{
?? ??? ??? ?printf(" ");
?? ??? ?}
?? ??? ?for (e = 1; e<= 6 + 4 * (a - 1); e++)
?? ??? ?{
?? ??? ??? ?printf("*");
?? ??? ?}
?? ??? ?printf("\n");
?? ?}
?? ?for (d=1;d<=3;d++)
?? ?{
?? ??? ?for (c = 1; c <= 31; c++)
?? ??? ?{
?? ??? ??? ?printf("*");
?? ??? ?}
?? ??? ?printf("\n");
?? ?}

?? ?for (d = 1; d <= 8; d++)
?? ?{
?? ??? ?for (c = 1; c <= 1 + 2 * (d - 1); c++)
?? ??? ?{
?? ??? ??? ?printf(" ");
?? ??? ?}
?? ??? ?for (b = 1; b <= 29 - 4 * (d-1); b++)
?? ??? ?{
?? ??? ??? ?printf("*");
?? ??? ?}
?? ??? ?printf("\n");?? ??? ?
?? ?}
?? ?return 0;
}

我用c语言代码来展示:

我刚学到循环这里,我就用?for循环?,来弄这个爱心。

①首先前第三行:

??可以分成四个部分,共三行;我们可以先定义循环变量:a b c d e;

a 我们设定成 的增量? for(a = 1 ; a <= 3 ; a++)

b 我们设定成 空格 的增量? ? ?空格 是用??printf(" ");

第一部分的空格递减 : 5 -> 3-> 1,我们可以看成,1+2*2 -> 1+ 2*1 -> 1+ 2*0

? ? ? ? 这里的 2? 1? 0 与 a 的关系 :可以看成? abs(3 -a)

? ? ? ? ?就是:? ??for(b = 1 ; b <= abs(3 -a) ; b++)?

? ? ? ? ? ? ? ? ? ? ? {?

????????????????????????prinf(" ");

????????????????????}

?第二部分的 *? 数量 6 ->? 10 -> 14 ,我们可以看成6 + 4*0? ->?6 + 4*1-> 6 + 4*2

? ? ? ? 这里的 0 1 2?可以看成 6+4*(a-1)

????????就是:? ??for(c?= 1 ; c?<= 6+4*(a-1) ; c++)??

? ? ? ? ? ? ? ? ? ? ? ?{

????????????????????????printf("*");

????????????????????????}

? 第三部分的? 空格 递减? (跟上面的差不多)可以看成?1+4*abs(a-3))

??就是:? ??for(d?= 1 ; d?<= ?1+4*abs(a-3) ; d++)??

? ? ? ? ? ? ? ? ? ? ? ?{

????????????????????????printf(" ");

????????????????????????}

第四部分的? *? ?和第二部分一样

就是:?for(?e?=1;?e?<= 6+4*(a-1) ; e++)??

? ? ? ? ? ? ? ? ?{? ? ? ?

????????????????printf("*");

????????????????}

?中间的三行 先用 d 作为 行数变量? ? for (d=1;d<=3;d++)

再用 c? 作为 * 数量的变量 就是

????????????????????????for (c = 1; c <= 31; c++)
?? ??????????????????????????? ?{
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("*");

????????????????????????????????}

?

后面几行也类似

for (d = 1; d <= 8; d++)
?? ?{
?? ??? ?for (c = 1; c <= 1 + 2 * (d - 1); c++)
?? ??? ?{
?? ??? ??? ?printf(" ");
?? ??? ?}
?? ??? ?for (b = 1; b <= 29 - 4 * (d-1); b++)
?? ??? ?{
?? ??? ??? ?printf("*");
?? ??? ?}
?? ??? ?printf("\n");?? ??? ?
?? ?}

看看效果:

?

我刚学,没有想到更好的算法。唉😭😭😭😭😭

代码冗长,有更好的请@我😁😁😁😁😁😁😁😁

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:21:44  更:2021-10-25 12:23:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/28 12:03:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码