啊哈c语言——逻辑挑战6:奔跑的小人
2024-01-01 19:23:50
首先我们来设计这个小人:
????????将这个小人身体的三部分分为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);赶快试一试吧。
文章来源:https://blog.csdn.net/weixin_43349327/article/details/135326960
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!