23 用if语句实现分支结构 项目(1: 被3或者5整除的数) (2:乱玩数字 ) (3:两段函数求值 ) (4:三角公式求值 ) (5:我的加班费 ) (6:前导0的数字

/*【项目1:被3或者5整除的数】
编程序,输入一个数,判断它能否被3或者被5整除。
如至少能被这两个数中的一个整除,则将此数打印出来,否则不打印。
*/
#include <stdio.h>

int main()
{
    int digit;

    printf("Please enter the digit: ");
    scanf("%d", &digit);
    if (digit)//digit != 0
    {
        if (digit%3==0 || digit%5==0) // or  if(!(x%3)||!(x%5))
            printf("%d是能被3或者5整除的数.\n", digit);
        else
            printf("%d不能被3或者5整除.\n", digit);
    }
    else
        printf("It's over\n");

    return 0;
}

/*
Please enter the digit: 101
101不能被3或者5整除.

Process returned 0 (0x0)   execution time : 1.868 s
Press any key to continue.
*/

<pre name="code" class="cpp">/*【项目2:乱玩数字】
编程输入整数a和b,若两数之和大于100,
则输出两数和百位以上的数字,否则输出两数之和。*/

#include <stdio.h>

int main()
{
    int a, b;

    scanf("%d %d", &a, &b);
    if (a+b > 100)
        printf("两数和百位以上的数字是 %d\n", (a+b) / 100);//Help?
    else
        printf("两数之和是 %d\n", a + b);

    return 0;
}
/*
1000 200
两数和百位以上的数字是 12

Process returned 0 (0x0)   execution time : 8.312 s
Press any key to continue.
*/

/*
[参考解答]
#include <stdio.h>
int main ( )
{
    int a, b, c;
    scanf("%d %d", &a, &b);
    c = a + b;
    if (c > 100)
        printf("两数和百位以上的数字是 %d\n", c/100);
    else
        printf("两数和是 %d\n", c);
    return 0;
}
*/


 

/*项目3:
求值公式:
y = x-1, x>=1
y = -x+1, x<1  */

#include <stdio.h>

int main()
{
    int x, y;
    y = 0;

    scanf("%d", &x);
    if (x >= 1)
        y = x - 1;
    else
        y = -x + 1;
    printf("y = %d\n", y);

    return 0;
}
/*
100
y = 99

Process returned 0 (0x0)   execution time : 0.959 s
Press any key to continue.
*/


/*项目4: 
公式如下:
   y = sin(x)+cos(x)/2  (x>=0)
   y = sin(x)-cos(x)/2  (x<0) */
#include <stdio.h>
#include <math.h>

int main()
{
    double x, y;
    y = 0;

    scanf("%lf", &x);
    if (x >= 0)
        y = (sin(x) + cos(x)) / 2;
    else
        y = (sin(x) - cos(x)) / 2;
    printf("y = %.2lf\n", y);

    return 0;
}
/*
20
y = 0.66

Process returned 0 (0x0)   execution time : 0.850 s
Press any key to continue.
*/
/*
[参考解答]
[cpp] view plain copy print?在CODE上查看代码片派生到我的代码片
#include <stdio.h>
#include <math.h>  //需要用到三角函数,包含数学库
int main ( )
{
    double x, y;   //涉及三角函数解决问题,用浮点型数合适
    scanf("%lf", &x);
    if (x>=0)
    {
        y=(sin(x)+cos(x))/2;
    }
    else
    {
        y=(sin(x)-cos(x))/2;
    }
    printf("%.3lf\n",y);
    return 0;
}  */


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

#include <stdio.h>
#define PRICE 1.5 //加班工资倍数
#define HOUR 40 //每周工作时间
int main()
{
    double rate, hour, Week_salary;

    printf("Please enter rate and hour: ");
    scanf("%lf %lf", &rate, &hour);

    if (hour > 40)
        Week_salary = (hour - HOUR) * PRICE * rate + HOUR * rate;
    else
        Week_salary = hour * rate;
    printf("Week_salary = %.2lf RMB.\n", Week_salary);

    return 0;
}
/*
Please enter rate and hour: 10 50
Week_salary = 550.00 RMB.

Process returned 0 (0x0)   execution time : 4.492 s
Press any key to continue.
*/
/*
[参考解答]
[cpp] view plain copy print?在CODE上查看代码片派生到我的代码片
#include <stdio.h>
int main ( )
{
    double salary, sum;
    int hour;
    printf("小贺每小时薪金是: ");
    scanf("%lf", &salary);
    printf("本周工作了多少小时: ");
    scanf("%d", &hour);
    if(hour>40)
        sum= 40*salary + 1.5*salary*(hour-40);
    else
        sum = salary*hour;
    printf("小贺本周领薪水:%.2lf元。\n" , sum);
    return 0;
}  */


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

#include <stdio.h>

int main()
{
    //help1:用格式控制
    int h, m;
    printf("输入小时和分钟: ");
    scanf("%d %d", &h, &m);
    printf("%02d:%02d\n", h, m);


    //help2:用分支语句控制
    int h, m;
    printf("输入小时和分钟:");
    scanf("%d %d", &h, &m);
    if (h < 10)
        printf("0");
    printf("%d:", h);
    if (m < 10)
        printf("0");
    printf("%d\n", m);

    /* My:
    float h, m;

    printf("Please enter h and m: ");
    scanf("%f %f", &h, &m);
    printf("%02.0f:%02.0f\n", h, m);
    */

    return 0;
}
/*
输入小时和分钟: 18 30
18:30

Process returned 0 (0x0)   execution time : 6.611 s
Press any key to continue.
*/
————————————————————————————————————————————————————————————
笔记:

关系运算符
① < (小于)
② <= (小于或等于)
③ > (大于)
④ >= (大于或等于)
⑤ == (等于)
⑥ != (不等于)


关系表达式及其求值
 关系表达式求值结果
 真(1)
 假(0)
 例:合法的关系表达式,设int a=3,b=5,c=4;
 a>b 假(0)
 a+b<b+c 真(1)
 (a==3)>(b==5)假(0)
 'a'<'b' 真(1)
 (a>b)>(b<c)假(0)




 关系表达式
 用关系运算符将两个表
达式连接起来的式子
表达式 关系运算符 表达式
amount>=1000
temperature<25
x>0
n%2==0




关于逻辑(布尔)型数据
 逻辑型数据
 真:正确、成立、对的
 假:错误、不成立、错的
 逻辑值用数值表示
 用数值1代表“真”
 用数值0代表“假”。
 逻辑型数据可以与数值型数据进行算术运算。
 当数值被用作逻辑值时
 非0被视为“真”
 0被视为“假”


逻辑表达式及其求值
 逻辑表达式  
&&(与) 表达式&&表达式(两个表达式全为真,值为真(1))
||(或) 表达式||表达式(1个表达式为真,即为真(1)
!(非) !表达式 (非真即假,反之亦然。)


 逻辑表达式的值
 真(1)
 假(0)




应用:如何判断闰年?
 判别某一年(year)是否为闰年?
 闰年的条件是符合下面两者之一: ①能被4整除,但不能被100整除。②能
被400整除。
 如2004、2000年是闰年,2005、 2100年不是闰年。
 用一个逻辑表达式来表示
 (year%4==0 && year%100!=0) || year%400==0
 可以加一个“!”用来判别非闰年
 !((year%4==0&&year%100!= 0)||year%400==0)


程序的三种基本结构: 顺序结构   分支结构(选择结构)   循环结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值