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;
}
C语言 电梯函数的更多相关文章
- C语言pow函数编写
C语言pow函数编写 #include<stdio.h> double chaoba(double f,double q); //声明自定义函数 void main(void) { dou ...
- C语言-自定义函数
C语言自定义函数 --1-- 自定义函数定义 1.1 无参无返回值函数 1.2 无参有返回值函数 1.3 有参无返回值函数 1.4 有参有返回值函数 --2-- 函数的参数 2.1 形式参数介绍和使用 ...
- C语言printf()函数:格式化输出函数
C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为: int printf( char ...
- C语言的函数
"函数"在英文的翻译是"function",无论在自然科学还是计算机科学都是这个词,而"function"的本意是"功能" ...
- c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)
C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...
- Go语言示例-函数返回多个值
Go语言中函数可以返回多个值,这和其它编程语言有很大的不同.对于有其它语言编程经验的人来说,最大的障碍不是学习这个特性,而是很难想到去使用这个特性. 简单如交换两个数值的例子: package mai ...
- 【学习笔记】【C语言】函数
一. 什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,你可以说C语言程序是由函数构成的. 比如你用C语言编写了一 ...
- 【转载】 c语言inline函数的使用
c语言inline函数的使用 转载自:http://blog.chinaunix.net/uid-21843265-id-3056446.html 大学在教科书上学习过inline函数,定义为inli ...
- 【C语言】函数和自定义函数
函数,我之前也提到过一点点内容.其实函数是很好理解的,但是写起来又十分麻烦. 一. 函数引入 我们知道,C源程序是由函数组成的.请看下面的简单函数例子 #include <stdio.h ...
随机推荐
- Photoshop-制作图片圆角2种方法[转]
方案一: 使用选区和蒙版相结合,用图章制作圆角选区,删除多余部分 效果: 实现步骤: 一.如果是直接在已有的图片上面编辑则看下图,否则跳过此不 二.用矩形工具选择需要保留的图片内容 三.选 ...
- Linux中如何使用gThumb批量调整图片大小
Linux中如何使用gThumb批量调整图片大小 导读 如果你的工作涉及到图片编辑和处理,就一定会有同时对多张图片进行批量大小调整的经历.虽然大多数图片编辑应用都能够非常容易地批量调整多张图片,但对于 ...
- Android系统中设置TextView等的行间距
1.android:lineSpacingExtra 设置行间距,如”2dp”. 2.android:lineSpacingMultiplier 设置行间距的倍数,如”2″.
- 嵌入式设备上运行AllJoyn注意事项
1. 交叉编译AllJoyn库.编译成功后的文件位于:alljoyn-3.3.0-src\build\linux\arm\debug\dist\目录下: 2. 程序要使用AllJoyn,必须要启动al ...
- IOS NS 字符串 数组 字典 文件 动态 静态 操作
ios 常用字符串的操作 //将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response e ...
- 错误"Lc.exe 已退出,代码 -1 "
今天做项目的时候突然出现编译不通过,错误为Lc.exe已退出,代码为-1.这让我郁闷了至少30分钟,后来上网查了一下,才知道原因所在,我们项目中使用了第三方组件(Infragistics)造成的,至于 ...
- linux_memcached_memcachedb
三个区别 当你听到memcache与memcached时把它当做是一个东东就好了,尽管它们存在区别,但是这并不影响你对它们的运用及理解. “Memcache”它是一个自由和开放源代码.高性能.分配的内 ...
- python编写telnet登陆出现TypeError:'str' does not support the buffer interface
python3支持byte类型,python2不支持.在python3中,telnet客户端向远程服务器发送的str要转化成byte,从服务器传过来的byte要转换成str,但是在python2不清楚 ...
- Oracle10GODP连接11G数据库,出现ORA - 1017用户名/口令无效; 登录被拒绝 的问题
一.出现症状 1.使用sqlplus连接正常 2.C#使用10g的ODP.NET连接时,报上面的错误 二.原因 1.Oracle11G之前密码是不区分大小写的,从11G开始默认密码区分大小写 2.使用 ...
- ASP.Net上传中文文件乱码
只要在Head中添加即可解决:<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />