#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;

}

C语言 电梯函数的更多相关文章

  1. C语言pow函数编写

    C语言pow函数编写 #include<stdio.h> double chaoba(double f,double q); //声明自定义函数 void main(void) { dou ...

  2. C语言-自定义函数

    C语言自定义函数 --1-- 自定义函数定义 1.1 无参无返回值函数 1.2 无参有返回值函数 1.3 有参无返回值函数 1.4 有参有返回值函数 --2-- 函数的参数 2.1 形式参数介绍和使用 ...

  3. C语言printf()函数:格式化输出函数

    C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为:     int printf( char ...

  4. C语言的函数

    "函数"在英文的翻译是"function",无论在自然科学还是计算机科学都是这个词,而"function"的本意是"功能" ...

  5. c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)

    C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...

  6. Go语言示例-函数返回多个值

    Go语言中函数可以返回多个值,这和其它编程语言有很大的不同.对于有其它语言编程经验的人来说,最大的障碍不是学习这个特性,而是很难想到去使用这个特性. 简单如交换两个数值的例子: package mai ...

  7. 【学习笔记】【C语言】函数

    一. 什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,你可以说C语言程序是由函数构成的. 比如你用C语言编写了一 ...

  8. 【转载】 c语言inline函数的使用

    c语言inline函数的使用 转载自:http://blog.chinaunix.net/uid-21843265-id-3056446.html 大学在教科书上学习过inline函数,定义为inli ...

  9. 【C语言】函数和自定义函数

    函数,我之前也提到过一点点内容.其实函数是很好理解的,但是写起来又十分麻烦. 一.     函数引入 我们知道,C源程序是由函数组成的.请看下面的简单函数例子 #include <stdio.h ...

随机推荐

  1. Jquery实现文本框获取焦点清空内容,失去焦点重新获得内容的公共函数

    最近在做一个同城交友网站你给我吧(www.niyuewo.com)时写的一个函数与大家分享: //清除input中的内容 $(document).ready(function(){ $("i ...

  2. 代码片段 - JavaScript 求时间差

    // 求时间差1(时间差不能超过一天) function timeDifference1(startTime, endTime) { let times = endTime.getTime() - s ...

  3. 数据结构之平衡二叉树(AVL)

    一:平衡二叉树特点:平衡二叉树(Balanced binary tree)是由阿德尔森-维尔斯和兰迪斯(Adelson-Velskii and Landis)于1962年首先提出的,所以又称为AVL树 ...

  4. Linux根文件系统的制作

    转载:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076655.html 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及 ...

  5. 讲讲你不知道的 ARC (一)

    来源:伯乐在线 - 酷酷的哀殿 链接:http://ios.jobbole.com/89420/ 点击 → 申请加入伯乐在线专栏作者 内容提要 通过阅读本篇文章,希望您能了解:如何在 ARC 下,强制 ...

  6. Nodejs新建博客练习(二)添加flash支持

    安装必须模块 npm install connect-flash npm install express-session 然后在app.js里面添加一些代码 var flash = require(' ...

  7. 【阿里云产品公测】云引擎ACE新手实战基于Wordpress

    [阿里云产品公测]云引擎ACE新手实战基于Wordpress 作者:阿里云用户imnpc ACE(Aliyun Cloud Engine) 是一款弹性.分布式的应用托管环境,支持Java.php多种语 ...

  8. C#实现插件式架构的方法

    插件式架构,一种全新的.开放性的.高扩展性的架构体系.插件式架构设计近年来非常流行,基于插件的设计好处很多,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现.扩展功能与框架以一种很松的 ...

  9. umbraco使用VS安装

    新建——程序包管理器控制台——install - package umbracocms vs中的快捷键: ctrl+F5为调试: ctrl+shift+B生成解决方案: 打包前,App_data文件夹 ...

  10. ZOJ 1586 QS Network (最小生成树)

    QS Network Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Sta ...