#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. UNIX/Linux网络编程基础:应用层协议简介

    目录 1.HTTP协议 2.FTP协议 3.TELNET协议 4.NFS协议 1.HTTP协议 应用层协议HTTP协议是Web的核心.HTTP协议在Web的客户程序和服务器程序中得以实现,运行在不同系 ...

  2. -force_load使用办法

    项目中用到Three20框架,同时也使用了讯飞语音的framework,编译时出现类似如下冲突提示信息: ld: duplicate symbol _OBJC_CLASS_$_AdLinks in / ...

  3. Ubuntu下VSFTPD(四)(vsftpd其它主要设置)

    vsftpd 服务器的其它主要设置 : 1 .最大传输速率设置: 设置匿名用户的最大传输率为20Kbps,修改/etc/vsftpd/vsftpd.conf 添加语句:anon_max_rate=20 ...

  4. 数据挖掘算法-Apriori Algorithm(关联规则)

    http://www.cnblogs.com/jingwhale/p/4618351.html Apriori algorithm是关联规则里一项基本算法.是由Rakesh Agrawal和Ramak ...

  5. spark HA

    spark HA 的两种实现: 基于文件系统的单点恢复(Single-Node Recovery with Local File System) 基于zookeeper的Standby Masters ...

  6. sqoop1.99.4安装与简介

    1.什么是sqoop clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具 2.版本及其区别 现在分为sqoop1和sqoop2 1)架构图(sqoop1和hadoo ...

  7. mysql 查看表记录新增、修改的时间

    ALTER TABLE `tableName` ADD `updateAt` TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP; ALTER TABLE kd_up ...

  8. Android自定义控件:进度条的四种实现方式(Progress Wheel的解析)

    最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非 ...

  9. ListView的addAll方法

    add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当 ...

  10. CAKeyframeAnimation 旋转动画