注册 登录
编程论坛 C语言论坛

小弟初来乍到,向各路大佬致敬。

弗雷尔 发布于 2020-06-18 17:54, 2160 次点击
你可以设计一个“小人”并让它从右边向左边奔跑吗?
怎么把下列代码改得可以使小人从右到左跑呢?求教c语言。


#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;
}
6 回复
#2
fulltimelink2020-06-18 18:40
a赋值10 “让”“小人”跑到右边
判断 条件改成 a >=0
每次“小人”向左  a-=1
程序代码:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
    int a, b;
    a = 10;
    while (a >=0)
    {
        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;
}
#3
弗雷尔2020-06-18 21:13
回复 2楼 fulltimelink
谢谢谢谢,我用上了。
但是我又有新的疑问了,这第一个变量 a 的取值为什么可以决定“小人”的位置呢?
#4
牧人马2020-06-19 01:54
回复 3楼 弗雷尔
因为从二楼的代码看,printf(" ")通过最内层循环输出空格来控制小人距离最左端的位置,第一次大循环的第一个内层循环while(b<=a)的条件就和a的初始大小有关

[此贴子已经被作者于2020-6-19 01:57编辑过]

#5
YSZAYMT2020-06-20 23:26
感谢楼主代码,我拿去研究研究
#6
ditg2020-06-20 23:54
光发贴不给分结贴啊?!(俺不要分)
#7
弗雷尔2020-06-22 23:02
回复 3楼 弗雷尔
多谢指教!明白了。
1