一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
语法
C++ 中 if…else 语句的语法:
if(布尔表达式)
{
// 如果布尔表达式为真将执行的语句
}
else
{
// 如果布尔表达式为假将执行的语句
}
如果布尔表达式为true
,则执行if
块内的代码。如果布尔表达式为false
,则执行 else
块内的代码。
if…else if…else 语句
一个 if 语句后可跟一个可选的 else if…else 语句,这可用于测试多种条件。
当使用 if…else if…else 语句时,以下几点需要注意:
- 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
- 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
- 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。
if(boolean_expression 1)
{
// 当布尔表达式 1 为真时执行
}
else if( boolean_expression 2)
{
// 当布尔表达式 2 为真时执行
}
else if( boolean_expression 3)
{
// 当布尔表达式 3 为真时执行
}
else
{
// 当上面条件都不为真时执行
}
求最大值
问题描述
输入三个数a,b,输出两个整数中的最大值
样例输入
10 30
样例输出
30
题解
#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斤,超过部分打八折;输入为所购买苹果的重量,输出为应付款的总额。
样例
10
10.2
27
27.48
.
题解
#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
题解
#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
题解
#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
样例输出
>
题解
#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
题解
#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;
}