第二十三讲 用if语句实现分支结构

来源:互联网 发布:ubuntu ftp路径设置 编辑:程序博客网 时间:2024/06/16 15:49
【项目1:被3或者5整除的数】

编程序,输入一个数,判断它能否被3或者被5整除。如至少能被这两个数中的一个整除,则将此数打印出来,否则不打印。

#include "stdio.h"int main(){int a;printf("please input a number\n");scanf("%d",&a);if(a/5==0||a/3==0){printf("%d\n",a);}else{printf("no\n");}return 0;}
运行结果



知识点 逻辑运算符||和if分支语句的应用。

心得 注意规范


【项目2:乱玩数字】
编程输入整数a和b,若两数之和大于100,则输出两数和百位以上的数字,否则输出两数之和。

#include "stdio.h"int main(){int a,b,c;printf("please input two numbers\n");scanf("%d,%d",&a,&b);c=a+b;if(c>100){printf("两数和百位以上的数字是%d\n",c/100);}else{printf("两数和是%d",c);}}
运行结果


知识点 if单分支语句

心得 题目刚开始没怎么读懂,两数和百位以上的数字是,没理解是输入百位数的数。其次printf()中,后面可以是表达式还不太习惯。


【项目3:两段函数求值】
编程序,计算下面函数的值并输出(x取整型即可)

#include "stdio.h"int main(){int x,y;printf("please input x.\n");scanf("%d",&x);if(x>=1){y=x-1;printf("y=%d\n",y);}else{y=-x+1;printf("y=%d\n",y);}return 0;}
运行结果



知识点 同上。

心得 无。


【项目4:三角公式求值】
写一程序,求y值  (x值由键盘输入)。


#include "stdio.h"#include "math.h"#define PI 3.1415int main(){double x,y;//涉及三角函数解决问题,用浮点型数合适printf("please input x\n");scanf("%lf",&x);if(x>=0){y=(sin(x/180*PI)+cos(x/180*PI))/2;printf("y=%f\n",y);}else{y=(sin(x/180*PI)-cos(x/180*PI))/2;printf("y=%lf\n",y);}return 0;}


运行结果



知识点 涉及到数学函数要加头文件"math.h",单分支结构。


心得 sin()和cos()的参数是double类型的弧度,其返回值也是double类型,当用度作参数时,需要转换。第二,涉及三角函数解决问题,用浮点型数合适。

第三,度为参数需转换为弧度,此时可以用宏定义PI。第四,不知道为什么贺老师的x是度数直接传递而不是弧度。




【项目5:我的加班费】
小贺刚上班,按工作时间小时制领取周工资,工资标准是,每小时rate元RMB。每周工作时间40小时,如果要加班,超出部分按正常工资的1.5倍计(老板还算不错喔!)。这周小贺上班的时间为hour小时,请编程序,输入rate和hour,输出小贺本周的薪水。


#include "stdio.h"int main(){int rate,hour;double wage;printf("please input rate and hours\n");scanf("%d,%d",&rate,&hour);if(hour>40){wage=rate*40+(hour-40)*1.5*rate;printf("wage=%lf\n",wage);}else {wage=rate*hour;printf("wage=%lf\n",wage);}return 0;}


运行结果



知识点 单分支结构


心得 关于wage变量定义为double型,因为*了1.5.


【项目6:前导0的数字】
输入小时和分,以hh:mm形式输出,其中小时和分钟不足两位数时,用零前导
例,输入14 25,输出14:25,输入8 9,输出08:09

#include "stdio.h"int main(){int hour,minute;printf("please input hour and minute\n");scanf("%d,%d",&hour,&minute);if(hour<10&&minute>10){printf("0%d:%d",hour,minute);}else if(hour<10&&minute<10){printf("0%d:0%d",hour,minute);}else if(hour>10&&minute<10){printf("%d:0%d",hour,minute);}else{printf("%d:%d",hour,minute);}return 0;}
运行结果



知识点 if多分支语句,&&逻辑符号的运用。

心得 if,else输入下面要养成好习惯{}不管是否只有一条语句。另外if,else语句之间不能被其他语句断开。

0 0