C++if语句、分支结构和逻辑运算符

一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。

语法

C++ 中 if...else 语句的语法:

cpp

if(布尔表达式)
{
// 如果布尔表达式为真将执行的语句
}
else
{
// 如果布尔表达式为假将执行的语句
}

如果布尔表达式为true,则执行if块内的代码。如果布尔表达式为false,则执行 else块内的代码。

if...else if...else 语句
一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。
当使用 if...else if...else 语句时,以下几点需要注意:

  1. 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
  2. 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
  3. 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。
cpp

if(boolean_expression 1)
{
// 当布尔表达式 1 为真时执行
}
else if( boolean_expression 2)
{
// 当布尔表达式 2 为真时执行
}
else if( boolean_expression 3)
{
// 当布尔表达式 3 为真时执行
}
else
{
// 当上面条件都不为真时执行
}

求最大值

问题描述

输入三个数a,b,输出两个整数中的最大值

样例输入

10 30

样例输出

30

题解

cpp

#include <iostream>
using namespace std;
int main()
{
    double a,b;
    cin>>a>>b;
    if (a > b)
        cout<<a;
    else if (a < b)
        cout<<b;
    else if (a == b)
        cout<<a;
    return 0;
}

苹果促销

问题描述

超市苹果打折促销,总重量如果不超过5斤,单价3元/斤,如果超过5斤,超过部分打八折;输入为所购买苹果的重量,输出为应付款的总额。

样例

样例输入 #1

10

样例输入 #2

10.2

样例输出 #1

27

样例输出 #2

27.48

.

题解

cpp

#include <iostream>
using namespace std;
int main()
{
    double n,m;
    cin>>n;
    if (n<=5)
        m = 5 * 3;
    else
        m = 15 +(n-5)*3*0.8;
    cout<<m;
    return 0;
}

判断数正负

问题描述

给定一个整数N,判断其正负。

输入

一个整数N(-109 <= N <= 109);

输出

如果N > 0, 输出positive;
如果N = 0, 输出zero;
如果N < 0, 输出negative

样例输入

1

样例输出

positive

题解

cpp

#include <iostream>
using namespace std;
int main()
{
    double N;
    cin>>N;
    if (N > 0)
        cout<<"positive";
    else if (N < 0)
        cout<<"negative";
    else if (N == 0)
        cout<<"zero";
    return 0;
}

奇偶ASCII值判断

问题描述

任意输入一个字符,判断其ASCII是否是奇数,若是,输出YES,否则,输出NO 例如,字符A的ASCII值是65,则输出YES,若输入字符B(ASCII值是66),则输出NO输入。
输入:输入一个字符。
输出:如果其ASCII值为奇数,则输出YES,否则,输出NO。

样例输入

A

样例输出

YES

题解

cpp

#include <iostream>
using namespace std;
int main()
{
    char c;
    cin>>c;
    if (c % 2 == 1)
        cout<<"Yes";
    else
        cout<<"NO";
    return 0;
}

整数大小比较

问题描述

输入两个整数,比较它们的大小。

输入

一行,包含两个整数x和y,中间用单个空格隔开,0 <= x < 2^32, -2^31 <= y < 2^31。

输出

一个字符。
若x > y,输出 > ;
若x = y,输出 = ;
若x < y,输出 < ;

样例输入

1000 100

样例输出

>

题解

cpp

#include <iostream>
using namespace std;
int main()
{
    double x,y;
    cin>>x>>y;
    if (x > y)
        cout<<">";
    else if (x < y)
        cout<<"<";
    else if (x == y)
        cout<<"=";
    return 0;
}

计算邮费

问题描述

根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克/以内(包括1000克),基本费8元。
超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5

输入

输入一行,包含整数和一个宁符,以一个空格分开,分别表示重量(单位为克) 和是否加急。如果字符是y,
说明选择加急;如果字符是n,说明不加急。

输出

输出一行,包含一个整数,表示邮费。

样例输入

1200 y

样例输出

17

题解

cpp

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double w,m,m1 = 8,m2 = 5,m3;
    char j;
    cin>>w>>j;
    if (w<=1000)
    {
        if (j == 'y')
            m = m1 + m2;
        else
            m = m1;
    }
    else
    {
        m3 = w - 1000;
        m = ceil(m3 / 500)*4 + m1;
        if (j == 'y')
            m += m2;
        else
            m = m;
    }
    cout<<m;
    return 0;
}
暂无评论,抢沙发?
gravatar头像

发表评论

您的电子邮箱地址不会被公开。