C语言 电梯函数

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

void test(){//汉字输出

    printf("THIS IS TEST\n");

    printf("My age is %d\n",26);

    printf("My age is %4d  发现没?26前面多了两个空格\n",26);

    printf("My age is %d,heighe is %f,name is %s,sex is %c\n",26,1.55,"李明杰",'A' );//双引号字符串(汉字属于字符串)用S,单引号字符用C

    printf("My age is %d,heighe is %.2f,name is %s,sex is '%c'\n",26,1.55,"李明杰",'A' );// %.2f代表2位小数,'%c'输出时才会带上单引号,输出不会帮你单上单引号的

    printf("sex is %s\n","男");

 

}

 

void test1(){//?:条件语句运用

    printf("THIS IS TEST1\n");

    int a,b,c;

    scanf("%d %d %d",&a,&b,&c);

    int d=(a>b?a:b)>(c)?(a>b?a:b):(c);

    printf("%d\n",d);

}

 

 

void test2(){//电梯函数

    printf("THIS IS TEST2\n");

    int z=1,b,c;//默认为了TEST1中的第一个输入的数。

leap: {

       printf("Welcome to take the elevator\ninput the floor you want to go,please...\n");

    scanf("%d",&c);

    srand((unsigned int)time(0));

    b=rand()%103+1;//产生客户所在层数

    printf("You are located in the first layer of %d,now.\n You will go to the %d layer\n The elevator is now located in the first layer of %d\n Wait a moment,please...\n",b,c,z);

    if (z>b)

    {//电梯靠近

        for (int i=1; i<=z-b; i++)

        {

            printf("%d\n",z-i);

        }

    }

    else if (z<b){

        for (int i=1; i<=b-z; i++)

        {

            printf("%d\n",z+i);

        }

    }

    else{

        printf("电梯就在这一层\n");

    }

    printf("将要开门,请注意安全!!!\n");//开关门函数

    printf("将要关门,请注意安全!!!\n");

    if (b>c)//乘坐电梯到达目的地

    {

        for (int i=1; i<=b-c; i++)

        {

            printf("%d\n",b-i);

        }

    }

    else if (b<c){

        for (int i=1; i<=c-b; i++)

        {

            printf("%d\n",b+i);

        }

    }

    else{

        printf("电梯就在这一层,你运气真好");

    }

    printf("将要开门,请注意安全!!!\n欢迎你再次乘坐\n");//开关门函数

    printf("将要关门,请注意安全!!!\n");

    z=c;//让程序记住当前电梯所在楼层

}

    goto leap;

}

 

void test3(){//电梯函数已解决

    printf("THIS IS TEST3\n");

    int a=1,b,c;//默认为了TEST1中的第一个输入的数。

    printf("恭喜你成为此程序此次运行的第一个乘客!!!!\n");

leap: {

    printf("Welcome to take the elevator\ninput the floor you want to go,please...\n");

    scanf("%d",&c);

    if (c>103) {

        printf("输入错误!!!\n请重新输入\n");

    }

    else {

    srand((unsigned int)time(0));

    b=rand()%103+1;//产生客户所在层数

    printf("You are located in the first layer of %d,now.\n You will go to the %d layer\n The elevator is now located in the first layer of %d\n Wait a moment,please...\n",b,c,a);

    if (a>b)

    {//电梯靠近

        for (int i=1; i<=a-b; i++)

        {

            printf("%d\n",a-i);

        }

    }

    else if (a<b){

        for (int i=1; i<=b-a; i++)

        {

            printf("%d\n",a+i);

        }

    }

    else{

        printf("电梯就在这一层\n");

    }

    printf("将要开门,请注意安全!!!\n");//开关门函数

    printf("将要关门,请注意安全!!!\n");

    if (b>c)//乘坐电梯到达目的地

    {

        for (int i=1; i<=b-c; i++)

        {

            printf("%d\n",b-i);

        }

    }

    else if (b<c){

        for (int i=1; i<=c-b; i++)

        {

            printf("%d\n",b+i);

        }

    }

    else{

        printf("电梯就在这一层,你运气真好");

    }

    printf("将要开门,请注意安全!!!\n欢迎你再次乘坐\n");//开关门函数

    printf("将要关门,请注意安全!!!\n");

    a=c;

    }

}

    goto leap;

}int main(int argc, const char * argv[]) {

    

    printf("Hello, World!\n");

    test();

    test1();

    test2();//已解决电梯停留层数随机。

    test3();//已解决不记录当前楼层问题。

    return 0;

}

posted @ 2015-08-02 14:08  OIMMZC  阅读(1243)  评论(0编辑  收藏  举报