-
#include <stdio.h> float theday(float km1){ /*白天时间段*/ float sum1; if(km1>=0 && km1<=3){ sum1=13+1; }else{ sum1=13+1+(km1-3)*2.8; } return sum1; } float thenight(float km2){ /*夜晚时间段*/ float sum2; if(km2>=0 && km2<=3){ sum2=13+1; }else{ sum2=13+1+(km2-3)*2.8*(1+0.2); } return sum2; } int main(void){ float km,sum,thetime; /*定义路程,总费用,打车时间*/ printf("请输入打车时间以及行驶路程"); printf("ps:时间取整,若为六点则输入6.0\n"); scanf("%f %f",&thetime,&km); if(km>=0.0 && thetime>=0.0){ /*判断输入数据是否有误*/ if(thetime>=5.0 && thetime<23.0){ /*判断打车时间段*/ sum=theday(km); }else{ sum=thenight(km); } printf("收费%f元",sum); }else{ printf("输入的数据有误!"); } return 0; }查看全部
-
关于“j”如果空格换成“a”,就能理解<br> 格式如下:<br> aaaa*<br> aaa***<br> aa*****<br> a*******<br> 而j=i的话每一次父循环,i变j就变,(j<5)随之输出的空格数量就变。 关于“k”列表<br> k=0; k<(2*i-1=2*1-1=1); k++//每次k都被重新赋值了<br> k=0; k<(2*i-1=2*2-1=3); k++<br> k=0; k<(2*i-1=2*3-1=5); k++<br> k=0; k<(2*i-1=2*4-1=7); k++查看全部
-
这里2个for循环,外面的for循环是遍历0-50这几个数的,里面的for是看m除了自己还能不能被整除。 外面的for从2开始算m是不是素数,n是除数,除数从2开始,如果m除以2余数为0,说明m能被2整除,则m不是素数,里面for循环break,继续算外面的for循环m+1。查看全部
-
可以在要显示的函数那里,直接强制。我傻傻的又定义了一个新变量查看全部
-
printf("%d\n",a++);a=100先打印所以打印出来的是100但后有++也就是要a=100+1 printf("%d\n",++a);a由上可知是101这里先运算再打印a=101+1打印就是102 printf("%d\n",--a);先运算是a=102-1再打印则是101 printf("%d\n",a--);先打印上一步的a也就是101再运算101-1=100 printf("%d\n",a+1);a=100打印的是100+1, printf("%d\n",a);上一步的打印是101但上一步不影响a的值所以打印100查看全部
-
1.有参函数命名时int **(int n) 括号里面一定要写上未知参数的类型 2.在调用时**(数字) 括号里面一定要写一个数字 3.每个函数记得加返回值 4.有参函数和无参函数的唯一区别在于:函数()中多了一个参数列表。查看全部
-
int x = 10; //定义x为整型变量,并赋值为10,其中int的意思是:整型变量 int y = 10; //定义y为整型变量,并赋值为10,其中int的意思是:整形变量 //使用简单为值语句实现x乘以2。 x *= 2; //本句的原意是x的最终取值为:x*2,也就是10*2 //使用复合赋值语句实现y乘以2。 y *= 2; //本句的原意是y的最终取值为:y*2,也就是10*2 printf("x=%d\n", x); //printf意思是输出括号里面的内容(里面有代码的行守后的最终内容) //输出:x=,但要先执行%d,%d意思是 取整型变量的值,这个是固定的 // \n意思是 取到值后输出内容并自动另起一行 // ,x); 意思是 取一个离本句代码最近的x的值 printf("y=%d\n", y); return 0; }查看全部
-
函数的返回值是什么意思呢?
主函数调用子函数的时候,实质上就是调用函数的返回值,也就说主函数在调用子函数的时候,对子函数的参数赋值,子函数参数得到赋值后会运行执行块代码,得到一个值,这个值就是最后要返回给主函数的(称为返回值),那么要怎么返回呢?就需要在子函数里面通过return语句(return xx,xx就是要返回的值)来把这个值返回给主调函数。返回值是哪种数据类型就把子函数定义成哪种类型。
如果子函数是无返回值的,就需要把子函数定义成void类型,void函数可以有执行块,但不能有返回值(即return xx中的xx是空的,不能写东西,可以直接不写return,也可以写成return;)。
那么这个无返回值是要怎么被主函数调用呢?主函数如果给void函数赋值是得不到结果的(没有返回值),所以主函数中是无法在printf里面调用void函数的。(为什么printf不能调用void函数呢?因为printf打印的这个参数实际上就是调用函数的返回值,也就说把return后面的值打印出来的,如果return后面没有值,没有这个参数printf就没法打印,就报错)
如果主函数要调用void函数,直接把void函数单独写一句,并对参数赋值就行了,这时候void函数里面的执行块如果有打印东西就会被打印出来。
查看全部 -
break既可以在循环体中运用,也可以在switch语句中使用。
continue只可以使在循环语句中。
switch语句不是循环语句,而是判断语句。
查看全部 -
num = (getPeachNumber(n+1)+1)*2;
getPeachNumber(n+1) //这是一个函数,不要拆分错误,这个函数用来计算n+1天的桃子个数
/*以第九天和第十天为例:
第十天剩余一个桃子,即getPeachNumber(10) == 1
n = 9时,第九天的桃子就为(第十天的桃子数+1)*2
第十天的桃子数 = getPeachNumber(10) = getPeachNumber(9+1)
因为 n = 9;所以 =getPeachNumber(n+1)
第九天的桃子就为(第十天的桃子数+1)*2 = (getPeachNumber(n+1)+1)*2
查看全部 -
在计算机语言里是 \t是“转义字符”,\t 横向跳到下一制表位置 转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。 常用的转义字符及其含义 转义字符 转义字符的意义 \n 回车换行 \t 横向跳到下一制表位置 \v 竖向跳格 垂直制表符 \b 退格 \r 回车 \f 走纸换页 \\ 反斜线符"\" \' 单引号符 \a 鸣铃 \ddd 1~3位八进制数所代表的字符 \xhh 1~2位十六进制数所代表的字符查看全部
-
C语言中的关键字不能做标识符,关键字通常指的是
1、auto 声明自动变量
2、short 声明短整型变量或函数
3、int 声明整型变量或函数
4、long 声明长整型变量或函数
5、float 声明浮点型变量或函数
6、double 声明双精度变量或函数
7、char 声明字符型变量或函数
8、struct 声明结构体变量或函数
9、union 声明共用数据类型
10、enum 声明枚举类型
11、typedef 用以给数据类型取别名
12、const 声明只读变量
13、unsigned 声明无符号类型变量或函数
14、signed 声明有符号类型变量或函数
15、extern 声明变量是在其他文件正声明
16、register 声明寄存器变量
17、static 声明静态变量
18、volatile 说明变量在程序执行中可被隐含地改变
19、void 声明函数无返回值或无参数,声明无类型指针
20、else 条件语句否定分支(与 if 连用)
21、switch 用于开关语句
22、case 开关语句分支
23、for 一种循环语句
24、do 循环语句的循环体
25、while 循环语句的循环条件
26、goto 无条件跳转语句
27、continue 结束当前循环,开始下一轮循环
28、break 跳出当前循环
29、default 开关语句中的“其他”分支
30、sizeof 计算数据类型长度
31、return 子程序返回语句(可以带参数,也可不带参数)循环条件
32、if 条件语句
必须是字母或下划线开头
查看全部 -
“b++”与“++b”都表示b,只是数值不同。
当b=9时,“++b”=10即b=10
因为“++b”把b的值加1后的值再赋给b
当b=9时,“b++”=9即b=9
因为“b++”先确定b的值再进行运算b+1,但并没有说要赋值给b,所以b仍然为9
查看全部 -
给的答案 无法理解
查看全部 -
我这里有一个办法可以区分a++与++a
把++a记成“a先加”,就是加了a再输出或运算;把a++记成“a后加”,也是同理
a--与--a是一样的
希望对你们有帮助查看全部
举报