啊哈c语言——逻辑挑战6:奔跑的小人

首先我们来设计这个小人:

        将这个小人身体的三部分分为3行来分别表示:

第1行用一个大写字母O表示小人的脑袋。

第2行用左尖括号表示小人的右手,用大写字母H表示小人的身 体,用右尖括号>表示小人的右手。

第3行用两个大写字母I表示小人的两条腿,为了对称,两个大写字 母I之间用一个空格隔开。

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{printf(" O\n");printf("<H>\n");printf("I I\n");system("pause");return 0;
}

现在我们让小人动起来。首先回顾一下让字母奔跑起来的代码:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{int a, b;a=0;while(a<=2){system("cls");b=1;while(b<=a){printf(" ");b=b+1;}printf("H");Sleep(1000);a=a+1;}system("pause");return 0;
}

我们把上面代码中的

改为:

完整的代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{int a, b;a=0;while(a<=2){system("cls");b=1;while(b<=a){printf(" ");b=b+1;}printf(" O\n");printf("<H>\n");printf("I I\n");Sleep(1000);a=a+1;}return 0;
}

        运行后你会发现,只有小人的脑袋往右边移动,身体和腿呆在原地,这是为什么?

        分析后我们发现,让小人往右移动主要通过在小人的左边不停地打印空格来实现。但是我们只在第1行的左边打印了空格,在第2行和第3 行都没有打印空格的语句。因此我们要将打印空格的while循环再复制 一遍分别放在printf("\n");和printf("I I\n");前面,完整的代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{int a, b;a=0;while(a<=2){system("cls");b=1;while(b<=a){printf(" ");b=b+1;}printf(" O\n");b=1;while(b<=a){printf(" ");b=b+1;}printf("<H>\n");b=1;while(b<=a){printf(" ");b=b+1;}printf("I I\n");Sleep(1000);a=a+1;}system("pause");return 0;
}

        怎么样,小人是不是奔跑起来啦!

        如果希望小人跑得更远,我们只需把while(a<=2)改为 while(a<=80)。如果让小人跑得更快一点,我们之前已经学习过,只 需把Sleep(1000);改为较小的值就可以了,越小越快,例如,改为 Sleep(100);赶快试一试吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/314118.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++多态性——(1)初识多态

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 苦难和幸福一样&#xff0c;都是生命盛…

电子邮件地址填写指南:格式与常见问题解答

一个专业的电子邮件地址是一个你只用于工作目的的通信帐户。当你给收件人发送电子邮件时&#xff0c;这是他们最先看到的细节之一。无论你的职位或行业如何&#xff0c;拥有一个专业的电子邮件地址都可以提高你和所在公司的可信度。 在本文中我们解释了专业的电子邮件地址是什么…

计算机网络课程设计-企业网三层架构

&#xff08;单人版&#xff09; 摘 要 本篇报告主要解决了为一家名为西宫的公司网络搭建问题&#xff0c;该网络采用企业网三层架构对完了过进行设计。首先使用以太网中继&#xff0c;主要使用VLAN划分的技术来划定不同部门。使用MSTP对每个组配置生成树&#xff0c;防止交换机…

echarts 折线图根据x轴时间渲染不同颜色的折线

footIm 如上图所示一条折线多种颜色 后端数据返回"data": [ { “dateTime”: “2023-10-11 00:02:10”, “pos”: 6, “curr”: 104.6 }, { “dateTime”: “2023-10-11 00:02:39”, “pos”: 7, “curr”: 104.6 }&#xff0c; …] 我们拿到后端返回的res.data传递给…

采用环形首尾互联互控的雪崩效应极好的Hash算法/杂凑函数RING-512设计原理详解

RING-512密码杂凑算法 黄金龙&#xff08;QQ1435271638&#xff09; 什么是Hash算法&#xff1f; Hash算法&#xff0c;又称为哈希算法、杂凑函数、散列函数、消息摘要算法。它可以将相当长&#xff08;一般不大于2^64Bit&#xff09;的输入数据经过计算生成固定长度的Hash值…

Node.js+Express 路由配置,实现接口分类管理

首先创建一个路由目录及文件 routes/user.js代码 const express require(express); const router express.Router(); // 使用express提供的router对象 const db require(../dbserver/mysql);router.get(/api/user, (req, res) > {const sqlStr SELECT * FROM sys_user;…

mysql基础-表操作

环境&#xff1a; 管理工具&#xff1a;Navicat 数据库版本&#xff1a;5.7.37 mysql的版本&#xff0c;我们可以通过函数&#xff0c;version()进行查看&#xff0c;本次使用的版本如下&#xff1a; 目录 1.管理工具 1.1创建表 1.2.修改表名 1.3.复制表 1.4.删除表 2…

电子电器架构(E/E)演化 —— 车载以太网

电子电器架构&#xff08;E/E&#xff09;演化 —— 车载以太网 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 本文13000字。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一…

权威Scrum敏捷开发企业培训分享

课程简介 Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架。 这是一个两天的实训课程&#xff0c;面向研发管理者、项目经理、产品经理、研发团队等&#xff0c;旨在帮助学员全面系统地学习Scrum和敏捷开发, 帮助企业快速启动敏…

汽车驾驶的基础知识,驾照考试的科目练习

一、教程描述 本套驾驶教程&#xff0c;大小3.15G&#xff0c;共有274个文件。 二、教程目录 01-汽车驾驶的理论知识&#xff08;共95课时&#xff09; 02-汽车驾驶的场地练习&#xff08;共87课时&#xff09; 03-汽车驾驶的道路练习&#xff08;共55课时&#xff09; 0…

Golang leetcode707 设计链表 (链表大成)

文章目录 设计链表 Leetcode707不使用头节点使用头节点 推荐** 设计链表 Leetcode707 题目要求我们通过实现几个方法来完成对链表的各个操作 由于在go语言中都为值传递&#xff0c;&#xff08;注意这里与值类型、引用类型的而区别&#xff09;&#xff0c;所以即使我们直接在…

lambda表达式和包装器

正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 我们在使用库里的排序算法时如果排序的是自定义类型或者库里默认的排序不能满足我们则需求&…