C++ - 信息学奥赛-例题
C++ 编程实例
1. 顺序结构
【实例 - 1】:Hello World
【题目描述】输出著名短句 "hello world"。
【输入】无
【输出】输出 "hello world"。
【输入样例】无
【输出样例】`hello world`
点击查看代码
#include <iostream>
using namespace std;
int main(){
cout<<"hello world!"<<endl;
return 0;
}
【实例 - 2】:你好世界
【题目描述】 输出中文短句"你好,世界。"
【输入】无
【输出】你好,世界。
【输入样例】无
【输出样例】你好,世界。
点击查看代码
#include<iostream>
using namespace std;
int main(){
cout<<"你好,世界。"<<endl;
printf("你好,世界。\n");
return 0;
}
【实例 - 3】:春节快乐
【题目描述】一年一度的春节到啦!试着把你的春节祝福表达在代码中吧。
【输入】无
【输出】输出一行"Happy Spring Festival!"
【输入样例】无
【输出样例】Happy Spring Festival!
点击查看代码
#include<iostream>
using namespace std;
int main(){
cout<<"Happy Spring Festival!"<<endl;
printf("Happy Spring Festival!\n");
return 0;
}
【实例 - 4】:单句春晓
【题目描述】《春晓》是一首有名的诗,其中一句为“春眠不觉晓,处处蚊子咬。”试编一程序,输出诗句。
【输入】无
【输出】改编的诗句。
【输入样例】无
【输出样例】春眠不觉晓,处处蚊子咬。
点击查看代码
#include<iostream>
using namespace std;
int main(){
cout<<"春眠不觉晓,处处蚊子咬。"<<endl;
printf("春眠不觉晓,处处蚊子咬。\n");
return 0;
}
【实例 - 5】:输出表达式的值
【题目描述】输出表达式1234∗5678的结果。
【输入】无
【输出】1234∗5678=7006652
【输入样例】无
【输出样例】1234 * 5678 = 7006652
点击查看代码
#include<iostream>
using namespace std;
int main(){
cout<<"1234"<<" * "<<"5678"<<" = "<<1234*5678<<endl;
printf("1234 * 5678 = %d",1234*5678);
return 0;
}
【实例 - 6】:打印长方形
【题目描述】在windows的控制台环境中所有的字符都是等宽的,默认情况下窗口中每行有 80 个字符,每个屏幕有 25 行,组成了一个字符矩阵。利用控制台的这个特点,我们可以在控制台上绘制简单的图形。下面给出了一个 5×7 的图形的例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
找出这个图形的特点,绘制一个 10×18 的图形。
【输入】无
【输出】输出与上图类似的一个10×18 的图形。
【输入样例】无
【输出样例】
ABCDEFGHIJKLMNOPQR
BABCDEFGHIJKLMNOPQ
CBABCDEFGHIJKLMNOP
DCBABCDEFGHIJKLMNO
EDCBABCDEFGHIJKLMN
FEDCBABCDEFGHIJKLM
GFEDCBABCDEFGHIJKL
HGFEDCBABCDEFGHIJK
IHGFEDCBABCDEFGHIJ
JIHGFEDCBABCDEFGHI
点击查看代码
#include<iostream>
using namespace std;
int main(){
cout<<"ABCDEFGHIJKLMNOPQR"<<endl;
cout<<"BABCDEFGHIJKLMNOPQ"<<endl;
cout<<"CBABCDEFGHIJKLMNOP"<<endl;
cout<<"DCBABCDEFGHIJKLMNO"<<endl;
cout<<"EDCBABCDEFGHIJKLMN"<<endl;
cout<<"FEDCBABCDEFGHIJKLM"<<endl;
cout<<"GFEDCBABCDEFGHIJKL"<<endl;
cout<<"HGFEDCBABCDEFGHIJK"<<endl;
cout<<"IHGFEDCBABCDEFGHIJ"<<endl;
cout<<"JIHGFEDCBABCDEFGHI"<<endl;
return 0;
}
【实例 - 7】:唐诗春晓
【题目描述】《春晓》是一首有名的诗,但校园里更流行的孩子们自编的《春晓》。诗如下:
春晓
春眠不觉晓,
处处蚊子咬。
夜来嗡嗡声,
脓包知多少。
【输入】无
【输出】出题目与诗句,其中题目、每句诗句都要换行。
【输入样例】无
【输出样例】
春晓
春眠不觉晓,
处处蚊子咬。
夜来嗡嗡声,
脓包知多少。
点击查看代码
#include<iostream>
using namespace std;
int main(){
cout<<" 春晓"<<endl<<"春眠不觉晓,"<<endl<<"处处蚊子咬。"<<endl<<"夜来嗡嗡声,"<<endl<<"脓包知多少。"<<endl;
cout<<" 春晓\n春眠不觉晓,\n处处蚊子咬。\n夜来嗡嗡声,\n脓包知多少。";
printf(" 春晓\n春眠不觉晓,\n处处蚊子咬。\n夜来嗡嗡声,\n脓包知多少。");
return 0;
}
【实例 - 8】:雪花
【题目描述】
雪花
一片两片三四片,
五片六片七八片,
九片十片无数片,
飞入梅花看不见。
试编一程序,算算《雪花》第一句中数字1、2、3、4的和是多少?
【输入】无
【输出】先输出提示语句“1+2+3+4=”,然后输出它们的和。
【输入样例】无
【输出样例】1+2+3+4=10
点击查看代码
#include<iostream>
using namespace std;
int main(){
cout<<"1+2+3+4="<<1+2+3+4<<endl;
int sum;
sum = 1+2+3+4;
cout<<"1+2+3+4="<<sum<<endl;
return 0;
}
【实例 - 9】:01子串
【题目描述】对于长度为 3位的一个 0、1 串,每一位都可能是 0 或 1,一共有 8种可能。它们的前几个是:
000
001
010
……
请按从小到大的顺序输出这 8种 01串。
【输入】无
【输出】输出 8行,按从小到大的顺序每行一个长度为 3 的 01串。
【输入样例】无
【输出样例】
000
001
010
011
100
101
110
111
点击查看代码
#include<iostream>
using namespace std;
int main(){
cout<<"000"<<endl;
cout<<"001"<<endl;
cout<<"010"<<endl;
cout<<"011"<<endl;
cout<<"100"<<endl;
cout<<"101"<<endl;
cout<<"110"<<endl;
cout<<"111"<<endl;
return 0;
}
【实例 - 10】:交换两个数的位置
【题目描述】现有两个整型变量a和b,分别存放了整数20和22,编程实现交换两个变量里的数,并输出结果。
【输入】无
【输出】如题
【输入样例】无
【输出样例】
a=22
b=20
点击查看代码
#include<iostream>
using namespace std;
int main(){
int a,b,p;
a = 20;
b = 22;
p = a;
a = b;
b = p;
cout<<"a = "<<a<<endl<<"b = "<<b<<endl;
return 0;
}
【实例 - 11】:天安门广场的面积
【题目描述】天安门广场在北京市中心,它南北长880米,东西宽500米,试编一程序,计算天安门广场面积是多少平方米。
【输入】无
【输出】输出天安门广场面积。
【输入样例】无
【输出样例】440000
点击查看代码
#include<iostream>
using namespace std;
int main(){
int a,b,s;
a = 880;
b = 500;
s = a * b;
cout<<"天安门的面积为:"<<s<<endl;
return 0;
}
【实例 - 12】:阿布拉1
【题目描述】尼克是一位好学的学生,他经常做实验。有一天他在做实验的时候需要交换一瓶10毫升的红墨水和一瓶20毫升的蓝墨水,但他不会,便向狐狸老师求助,狐狸老师念了一句咒语“阿布拉”帮助了尼克。试编一程序,模拟这一过程。
【输入】无
【输出】第一行输出交换前两个瓶子的墨水数量。第二行交换后两个瓶子的墨水数量(单位ml)。
【输入样例】无
【输出样例】
a=10 b=20
a=20 b=10
点击查看代码
#include<iostream>
using namespace std;
int main(){
int a,b,p;
a = 10;
b = 20;
p = a;
a = b;
b = p;
cout<<"a = "<<a<<"b = "<<b<<endl;;
return 0;
}
【实例 - 13】:列朋波骨
【题目描述】人们在非洲列朋波山脉的一个岩洞中发现了个骨头,是古人刻痕计数用的,尼克每天背一首诗,并模仿古人在木棒上刻一条痕。连续刻了五天后,问有多少条刻痕。
【输入】无
【输出】刻痕的条数。
【输入样例】无
【输出样例】5
点击查看代码
#include<iostream>
using namespace std;
int main(){
int a = 1;
int day = 1;
while (day<= 5){
a++;
day++;
}
return 0;
}
【实例 - 14】:3个连续数
【题目描述】若有三个连续的自然数,已知第一个自然数为100,请编写程序输出这三个自然数(每行输出一个数)。
【输入】无
【输出】输出三个连续的自然数,每行一个。
【输入样例】无
【输出样例】
100
101
102
点击查看代码
【实例 - 15】:牛吃牧草
【实例 - 16】:身高
【题目描述】输入一个数字n,表示身高,程序会输出一句英文,"My height is ncm.”,其中n代指输入的数字。例如:输入180,输出是“My height is 180cm.”。
【输入】输入一个数 n。
【输出】输出"My height is ncm."
【输入样例】175
【输出样例】My height is 175cm.
点击查看代码
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
cout<<"my height is "<<n<<"cm."<<endl;
return 0;
}
【实例 - 17】:出第二个整数
【实例 - 18】:复读机
【实例 - 19】:阿布拉2
【实例 - 20】:电影票
【题目描述】已知一位小朋友电影票价是10元,计算 x 位小朋友的总票价是多少?
【输入】输入x。
【输出】人数和电影票总价,中间用一个空格隔开。
【输入样例】2
【输出样例】2 20
点击查看代码
#include <iostream>
using namespace std;
int main(){
int people;
cin>>people;
cout<<people<<" "<<people*10<<endl;
return 0;
}
【实例 - 21】:比赛成绩
【题目描述】CSP复赛往往有四道题,按照赛制,一场比赛的分数是比赛中四道题的分数之和。现在给出选手在一场比赛中四道题的得分情况,求比赛的总成绩。
【输入】一行四个不大于 100 的非负整数,表示选手每道题的得分。
【输出】一个数,为这场比赛的总成绩。
【输入样例】100 75 25 0
【输出样例】200
点击查看代码
#include <iostream>
using namespace std;
int main(){
int a,b,c,d;
cin>>a>>b>>c>>d;
cout<<a+b+c+d<<endl;
return 0;
}
【实例 - 22】:石头
【题目描述】幼儿园小朋友昨天捡到3块小石头,想再去捡一块小石头,让这4
块石头正好一共重20斤,请问他应该去捡一块多少斤的石头?
【输入】三个整数 a,b,c,是这三块石头的重量(斤)。(0<a,b,c,a+b+c≤20)
【输出】一个整数,是第四块石头的重量(斤)。
【输入样例】3 5 7
【输出样例】5
点击查看代码
#include <iostream>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
cout<<20-a-b-c<<endl;
return 0;
}
【实例 - 23】:套盒子
【题目描述】小明同学有很多大、中、小三种类型的盒子,分开放太占空间,他想把这些盒子套在一起,那样看起来更加整洁。但是他突然忘记他自己一共有多少个盒子了。他只记得:一共有 a个大盒子,每个大盒子里面有 b 个中盒子,每个中盒子里面有 c个小盒子。现在他想知道自己一共有多少个盒子。
【输入】输入仅有一行,三个整数 a,b,c(0≤a,b,c≤1000)。
【输出】输出一行一个整数,代表一共有多少个盒子。
【输入样例】1 1 1
【输出样例】3
点击查看代码
#include <iostream>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
cout<<(1+b+b*c)*a<<endl;
return 0;
}
【实例 - 24】:植树造林
点击查看代码
【实例 - 25】:兴趣小组
点击查看代码
【实例 - 26】:整数的和
点击查看代码
【实例 - 27】:留3位小数
【题目描述】读入一个浮点数,保留 3位小数输出这个浮点数。
【输入】只有一行,一个浮点数 x(−105≤x≤105)。
【输出】也只有一行,保留3位小数的浮点数。
【输入样例】12.34521
【输出样例】12.345
点击查看代码
#include <bits/stdC++.h>
using namespace std;
int main(){
double x;
cin>>x;
cout<<fixed<<setprecision(3)<<x;
return 0;
}
【实例 - 28】:圆相关的计算
【题目描述】给出圆的半径,求圆的直径、周长和面积。如果圆的半径是 r,那么圆的直径、周长、面积分别是2×r、2×π×r、π×r×r,其中约定π=3.14159。
【输入】输入包含一个实数r(0<r≤10,000),表示圆的半径。
【输出】输出一行,包含三个数,分别表示圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留 4位小数。
【输入样例】3.0
【输出样例】6.0000 18.8495 28.2743
点击查看代码
#include <bits/stdc++.h>
using namespace std;
int main(){
double r,s,c,d;
const double PI = 3.14159;
cin>>r;
d = 2*r;
s = r*r*PI;
c = 2*PI*r;
cout<<fixed<<setprecision(4)<<d<<' '<<c<<' '<<s;
return 0;
}
【实例 - 29】:埃及金字塔
【题目描述】金字塔的侧面是由四个大小相同的等腰三角形构成的。给出三角形的底和高,输出其中一个侧面的面积。
【输入】输入两个数分别是底和高。
【输出】输出三角形的面积。
【输入样例】9 10
【输出样例】s=45
点击查看代码
【实例 - 30】:保留12位小数
【题目描述】读入一个浮点数,保留 12位小数输出这个浮点数。
【输入】只有一行,一个浮点数 x(−105≤x≤105)。
【输出】也只有一行,保留12位小数的浮点数。
【输入样例】3.1415926535897932
【输出样例】3.141592653590
点击查看代码
【实例 - 31】:图书
【题目描述】已知小明有n元,他买了一本书,这本书原价为m元,现在打8折出售。求小明还剩多少钱(保留2位小数)。
【输入】输入n,m。
【输出】小明还剩多少钱(保留2位小数)。
【输入样例】100 100
【输出样例】20.00
点击查看代码
【实例 - 32】:梯形面积
【题目描述】在梯形中阴影部分面积是150平方厘米,求梯形面积。
【输入】无。
【输出】输出梯形面积(保留两位小数)。
【输入样例】无
【输出样例】无
点击查看代码
【实例 - 33】:人民币支付
【题目描述】给定一个金额(以元为单位,如 345),现在想知道支付该金额的各种面额的人民币数量,显示 100 元,50 元,20 元,10 元,5 元,1元各多少张,要求尽量使用大面额的钞票。
【输入】一个小于 1000的正整数。
【输出】输出分行,每行显示一个整数,从上到下分别表示 100元,50 元,20元,10 元,5 元,1元人民币的张数。
【输入样例】735
【输出样例】
7
0
1
1
1
0
点击查看代码
#include <iostream>
using namespace std;
int main() {
int n;
cin>>n;
cout<<n/100<<endl;
n%=100;
cout<<n/50<<endl;
n%=50;
cout<<n/20<<endl;
n%=20;
cout<<n/10<<endl;
n%=10;
cout<<n/5<<endl;
n%=5;
cout<<n<<endl;
return 0;
}
【实例 - 34】:成绩
【题目描述】牛牛最近学习了 C++入门课程,这门课程的总成绩计算方法是:总成绩 = 作业成绩×20
%+小测成绩×30%+期末考试成绩×50%牛牛想知道,这门课程自己最终能得到多少分。
【输入】只有 1 行,包含三个非负整数A、B、C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。0≤A、B、C≤100 且 A、B、C 都是 10的整数倍。
【输出】只有 1 行,包含一个整数,即牛牛这门课程的总成绩,满分也是100分。
【输入样例】100 100 80
【输出样例】90
点击查看代码
#include <iostream>
using namespace std;
int main() {
int a,b,c;
cin>>a>>b>>c;
cout<<a*0.2+b*0.3+c*0.5;
return 0;
}
【实例 - 35】:算球的体积
【题目描述】球是一种很常见的模型,我们都知道它的体积计算公式:对于半径为 r的球,其体积的计算公式为 V=43×π×r3 ,这里取π=3.14。现给定 r,求 V。
【输入】输入为一个不超过 100的非负实数,即球半径。
【输出】输出一个实数,即球的体积,保留到小数点后 2位。
【输入样例】4
【输出样例】267.95
点击查看代码
#include <bits/stdc++.h>
using namespace std;
int main() {
const double PI = 3.14;
double r,V;
cin>>r;
V = (r*r*r*PI*4)/3;
cout<<fixed<<setprecision(2)<<V;
return 0;
}
【实例 - 36】:尼克与强盗
【题目描述】有一天一个强盗来到尼克家门口,记下了他家的门牌号——62号,准备晚上再动手。刚好尼克看到了就把门牌号上的十位数字与个位数字调换一下,变成了26号躲过了一劫。试编一程序,输入一个两位数,交换十位与个位并输出。
【输入】一个数字门牌号。
【输出】变换后的门牌号。
【输入样例】67
【输出样例】76
点击查看代码
【实例 - 37】:完成习题
【题目描述】总共有 x道习题,如果今天的目标是完成总数的 30% 的习题,问要完成几道习题。
【输入】输入只有一行,一个正整数 x(0<x<2000),x 是 10的倍数。
【输出】目标完成的习题数。
【输入样例】100
【输出样例】30
【实例 - 38】:算分数的浮点数值
【实例 - 39】:余除法
【实例 - 40】:幸运数
【实例 - 41】:出字符三角形
【实例 - 42】:打印字符
【题目描述】我们知道每个字符都有一个对应的 ASCII 码。现在输入一个 ASCII 码,要求你输出对应的字符。
【输入】一个整数,即字符的 ASCII 码,保证对应的字符为可见字符。
【输出】一行,包含相应的字符。
【输入样例】65
【输出样例】A
点击查看代码
#include <iostream>
using namespace std;
int main() {
int n;
char a;
cin>>n;
a = n;
cout<<a<<endl;
return 0;
}
【实例 - 43】:写字母转大写字母
【题目描述】输入一个小写字母,则变为大写输出。
【输入】输入为一个小写字符。
【输出】对应的大写字母。
【输入样例】a
【输出样例】A
点击查看代码
#include <iostream>
using namespace std;
int main() {
char c;
cin>>c;
c = c-32;
cout<<c<<endl;
return 0;
}
【实例 - 44】:字符菱形
【题目描述】给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。
【输入】输入只有一行, 包含一个字符。
【输出】该字符构成的菱形。
【输入样例】*
【输出样例】
*
***
*****
***
*
点击查看代码
#include <iostream>
using namespace std;
int main() {
char a='*';
// cin>>c;
cout<<" "<<a<<endl;
cout<<" "<<a<<a<<a<<endl;
cout<<" "<<a<<a<<a<<a<<a<<endl;
cout<<" "<<a<<a<<a<<endl;
cout<<" "<<a<<endl;
return 0;
}
【实例 - 45】:打印ASCII码
【题目描述】输入一个除空格以外的可见字符,输出其ASCII码。
【输入】一个除空格以外的可见字符。
【输出】一个十进制整数,即该字符的ASCII码。
【输入样例】A
【输出样例】65
点击查看代码
#include <iostream>
using namespace std;
int main() {
char a;
int b;
cin>>a;
b = a;
cout<<b<<endl;
return 0;
}
【实例 - 46】:加四密码
【题目描述】要将 China译成密码,译码规律是:用原来字母后面的第 4 个字母代替原来的字母.例如,字母 A 后面第 4 个字母是 E。E 代替 A。因此,China 应译为 Glmre。请编一程序,用赋初值的方法使 c1、c2、c3、c4、c5 五个变量的值分别为,C、h、i、n、a,经过运算,使 c1、c2、c3、c4、c5 分别变为 G、l、m、r、e,并输出。
【输入】输入长度为 5的字符串(保证字母后面的第 4个字符存在)。
【输出】输出加密后的结果。
【输入样例】China
【输出样例】Glmre
点击查看代码
#include <iostream>
using namespace std;
int main() {
char c1,c2,c3,c4,c5;
cin>>c1>>c2>>c3>>c4>>c5;
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
cout<<c1<<c2<<c3<<c4<<c5;
}
【实例 - 47】:机票打折
【题目描述】输入机票原价(3到 4位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字)。编程计算打折后机票的实际价格(单位:元。计算结果要将个位数四舍五入到十位数“元”)。
【输入】一行两个数 x,z (100≤x≤104,1.0≤z≤9.9),x 为整数,表示机票原价。z为小数后含有一位数字的实数,表示打折率。
【输出】一个正整数,表示打折后的机票价格。
【输入样例】888 7.7
【输出样例】680
点击查看代码
【实例 - 48】:分钱游戏
【题目描述】甲、乙、丙三人共有x元钱,先由甲分钱给乙、丙两人,所分给的数与各人已有数相同;接着由乙分给甲、丙,分法同前;再由丙分钱给甲、乙,分法亦同前。经上述三次分钱之后,每个人的钱数恰好一样多。 求原先各人的钱数分别是多少?
【输入】三个人的总钱数。(0≤x≤109)
【输出】甲乙丙三人原有的钱数,用空格隔开。
【输入样例】24
【输出样例】13 7 4
点击查看代码
#include <iostream>
using namespace std;
int main(){
int a,b,c,x;
cin>>x;
a=b=c=x/3;
a/=2;
b/=2;
c=c+b+a;
a/=2;
c/=2;
b=b+a+c;
b/=2;
c/=2;
a=a+b+c;
cout<<a<<' '<<b<<' '<<c<<endl;
return 0;
}
【实例 - 49】:细胞分裂
【题目描述】细胞学说认为生物是细胞构成的,细胞是生命的结构单位,细胞只能由细胞分裂而来。1
个细胞,第1次分裂成2个,第2次分裂成4个……试编一程序,算一算第5次分裂成几个?
【输入】无
【输出】输出第五次分裂的个数。
【输入样例】无
【输出样例】32
点击查看代码
【实例 - 50】:浮点数向零舍入
【实例 - 51】:计算浮点数相除的余
【题目描述】计算两个双精度浮点数a和b的相除的余数,a和b都是双精度浮点数。这里余数(r)的定义是:a=k×b+r,其中k是整数,0≤r<b。
【输入】输入仅一行,包括两个双精度浮点数a和b。
【输出】输出也仅一行,a÷b的余数。
【输入样例】73.263 0.9973
【输出样例】0.4601
点击查看代码
#include <iostream>
using namespace std;
int main(){
double a,b,r;
int k;
cin>>a>>b;
k = a/b;
r = a-k*b;
cout<<r;
return 0;
}
【实例 - 52】:鸡兔同笼
【题目描述】数学中经典的“鸡兔同笼”问题,已知头共x个,脚共y只,问笼中的鸡和兔各有多少只?
【输入】头和脚的数量。
【输出】鸡和兔各自数量。一个空格隔开。
【输入样例】30 90
【输出样例】15 15
点击查看代码
#include <iostream>
using namespace std;
int main() {
int x,y,c,r;
cin>>x>>y;
r=(y-2*x)/2;
c=x-r;
cout<<c<<" "<<r;
return 0;
}
【实例 - 53】:数字对调
【题目描述】输入一个三位数,要求把这个数的百位数与个位数对调,输出对调后的数。
【输入】三位数。
【输出】如题述结果。
【输入样例】123
【输出样例】321
点击查看代码
#include <iostream>
using namespace std;
int main() {
int n,gw,sw,bw;
cin>>n;
gw=n%10;
n/=10;
sw=n%10;
n/=10;
bw=n%10;
n/=10;
cout<<gw*100+sw*10+bw;
return 0;
}
【实例 - 54】:温度表达转化
【题目描述】利用公式 C=5×(F−32)÷9(其中C表示摄氏温度,F表示华氏温度)进行计算转化,输入华氏温度F,输出摄氏温度C,要求精确到小数点后5位。
【输入】输入一行,包含一个实数F,表示华氏温度。(F≥−459.67)。
【输出】输出一行,包含一个实数,表示对应的摄氏温度,要求精确到小数点后5位。
【输入样例】41
【输出样例】5.00000
点击查看代码
【实例 - 55】:间隔输出
【实例 - 56】:等差数列末项计算
【题目描述】给出一个等差数列的前两项a1,a2,求第n项是多少。
【输入】一行,包含三个整数a1,a2,n。−100≤a1,a2≤100,0<n≤1000。
【输出】一个整数,即第n项的值。
【输入样例】1 4 100
【输出样例】298
点击查看代码
//等差数列基本公式:
//末项=首项+(项数-1)×公差
//项数=(末项-首项)÷公差+1
//和=(首项+末项)x项数:2
//项数=(末项-首项)公差+1
//首项=2和-项数-未项
//未项=2和:项数-首项
//未项=首项+(项数-1)x公差
#include <iostream>
using namespace std;
int main(){
int a1,a2,n;
cin>>a1>>a2;
cin>>n;
cout<<a1+(n-1)*(a2-a1)<<endl;
return 0;
}
【实例 - 57】:计算(a+b)×c的值
【题目描述】给定3个整数a、b、c,计算表达式(a+b)×c的值。
【输入】输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。(−10,000<a,b,c<10,000)
【输出】输出一行,即表达式的值。
【输入样例】2 3 5
【输出样例】25
点击查看代码
#include <iostream>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
// cin>>a;
// cin>>b;
// cin>>c;
cout<<(a+b)*c;
}
【实例 - 58】:计算(a+b)/c的值
【题目描述】给定3个整数a、b、c,计算表达式 (a+b)/c的值。
【输入】输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。(−10,000<a,b,c<10,000)
【输出】输出一行,即表达式的值。
【输入样例】1 1 3
【输出样例】0
点击查看代码
#include <iostream>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
cout<<(a+b)/c;
}
【实例 - 59】:浮点型数据类型存储空间大小
【题目描述】分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
【输入】无。
【输出】一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
【输入样例】无
【输出样例】无
sizeof()
用于计算数据类型所占的字节数。
点击查看代码
#include <iostream>
using namespace std;
int main(){
float a;
double b;
cout<<sizeof(a)<<endl;
cout<<sizeof(b);
}
【实例 - 60】:长方体表面积
【题目描述】给出一个长方体的长宽高,计算这个长方体的表面积。
【输入】输入一行三个整数 a,b,c(1≤a,b,c≤107),分别表示长方体的长宽高。
【输出】输出一行一个整数,表示长方体的表面积。
【输入样例】1 2 3
【输出样例】22
点击查看代码
#include <iostream>
using namespace std;
int main(){
long long a,b,c;
cin>>a>>b>>c;
cout<<2*(a*b+b*c+c*a);
return 0;
}
【实例 - 61】:甲流疫情死亡率
【实例 - 62】:整型数据类型存储空间大小
【实例 - 63】:奇葩的饭店
【实例 - 64】:A×B问题
【实例 - 65】:计算并联电阻的阻值
【实例 - 66】:空格分隔输出
【题目描述】读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。
【输入】
第一行是一个字符;
第二行是一个整数;
第三行是一个单精度浮点数;
第四行是一个双精度浮点数。
【输出】输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。
【输入样例】
a
12
2.3
3.2
【输出样例】a 12 2.300000 3.200000
点击查看代码
#include <iostream>
using namespace std;
int main(){
int a;
float b;
double c;
char d;
scanf("%c%d%f%lf",&d,&a,&b,&c); // & 取地址符
printf("%c %d %.6f %.6lf",d,a,b,c);
return 0;
}
【实例 - 67】:电子表
【实例 - 68】:时间差
【实例 - 69】:竖式计算
【实例 - 70】:对齐输出
【实例 - 71】:反向输出一个三位数
【实例 - 72】:糖果游戏
【实例 - 73】:输出浮点数
【实例 - 74】:四舍六入五留双
【实例 - 75】:数学课上
【实例 - 76】:歌手大奖赛
【实例 - 77】:平均分
【实例 - 78】:地球人口承载力估计
【实例 - 79】:计算多项式的值
2. 选择结构
【实例 - 80】:整型与布尔型的转换
【题目描述】将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?
【输入】一个整型范围内的整数,即初始时整型变量的值。
【输出】一个整数,经过上述过程后得到的结果。
【输入样例】3
【输出样例】1
点击查看代码
#include<iostream>
using namespace std;
int main(){
bool b; // 布尔类型 true:1(非零非空) false:0 (0与空都是假)
int x;
cin>>x;
b = x;
x = b;
cout<<x;
return 0;
}
【实例 - 81】:偶数
【题目描述】读入一个正整数a,如果a为偶数输出yes。
【输入】一个正整数a。
【输出】偶数输出yes,否则什么也不输出。
【输入样例】12
【输出样例】yes
点击查看代码
#include<iostream>
using namespace std;
int main(){
int x;
cin>>x;
if (x % 2 == 0)cout<<x<<"是偶数。"<<endl;
// 第二种
if(x%2 == 0){
cout<<x<<"是偶数。"<<endl;
}
return 0;
}
【实例 - 82】:最大数输出
【题目描述】输入三个整数,数与数之间以一个空格分开。 输出一个整数,即最大的整数。
【输入】输入为一行,包含三个整数,数与数之间以一个空格分开。
【输出】输出一行,包含一个整数,即最大的整数。
【输入样例】10 20 56
【输出样例】56
点击查看代码
#include<iostream>
using namespace std;
int main(){
int a,b,c,max;
cin>>a>>b>>c;
max = a;
if(b>max) max = b;
if(c>max) max = c;
cout<<max;
return 0;
}
【实例 - 83】:其他数据类型存储空间大小
【题目描述】分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
【输入】无
【输出】一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
【输入样例】无
【输出样例】无
点击查看代码
【实例 - 84】:智商问题
【题目描述】智商(IQ)反映人的聪明程度,它是法国心理学家比奈提出的。他将一般人的平均智商定为100。分数越高,表示越聪明,智商就越高,140分以上者称为天才。试编一程序,输出一个200以内的整数作为IQ值,判断是不是天才。
【输入】一行一个整数,表示IQ的值。
【输出】输出“天才”或不输出。
【输入样例】150
【输出样例】天才
点击查看代码
【实例 - 85】:最大的数
【题目描述】输入三个数,输出其中最大的数。
【输入】输入三个数
【输出】其中最大的数
【输入样例】1.01 2 3.22
【输出样例】3.22
点击查看代码
【实例 - 86】:判断数正负
【题目描述】给定一个整数N,判断其正负。如果N>0,输出positive;如果N=0,输出zero;如果N<0,输出negative。
【输入】一个整数N(−109≤N≤109)。
【输出】如果N>0, 输出positive;如果N=0, 输出zero;如果N<0, 输出negative。
【输入样例】1
【输出样例】positive
点击查看代码
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
if(n>0) cout<<"positive";
if(n==0) cout<<"zero";
if(n<0) cout<<"negative";
return 0;
}
【实例 - 87】:开灯
【题目描述】小蓝家的灯是线型开关的,拉一次灯开,再拉一次灯关,未拉之前是熄灭状态。输入一个正整数 M(1<M<100),作为小蓝拉灯的次数,判断拉灯 M次后,灯是点亮状态还是熄灭状态。
【输入】输入一个正整数 M作为拉灯的次数(1<M<100)。
【输出】如果灯是点亮状态输出整数 1,如果灯是熄灭状态输出整数 0。
【输入样例】5
【输出样例】1
点击查看代码
#include<iostream>
using namespace std;
int main(){
int m;
cin>>m;
// if(m%2==0) cout<<"灯关了";
// if(m%2!=0) cout<<"灯开了";
if(m%2 == 0)cout<<"灯关了";
else cout<<"灯开了";
return 0;
}
【实例 - 88】:收费
【题目描述】乘坐飞机时,当乘客行李小于等于20公斤时,按每公斤1.68元收费,大于20公斤时,按每公斤1.98元收费,编程计算收费(保留2位小数)。
【输入】行李重量。
【输出】费用(保留2位小数)。
【输入样例】20.00
【输出样例】33.60
点击查看代码
#include<bits/stdc++.H>
using namespace std;
int main(){
double weight;
double cost;
cin>>weight;
if(weight <= 20) {
cost = weight * 1.68;
printf("%.2lf",cost);
}
if(weight > 20){
cost = weight * 1.98;
printf("%.2lf",cost);
}
// if(weight <= 20) {
// cost = weight * 1.68;
// printf("%.2lf",cost);
// }else{
// cost = weight * 1.98;
// printf("%.2lf",cost);
// }
return 0;
}
【实例 - 89】:跳绳达人
【题目描述】风之巅小学每学期都会举行跳绳比赛,比赛规定一分钟跳200次及以上就能被评为“跳绳达人”。尼克和格莱尔都是跳绳高手,每个学期都能评为“跳绳达人”。试编一程序,输入一分钟跳绳的次数,若大于等于200次,输出“跳绳达人!”,否则输出“继续努力!”。
【输入】一行一个整数,表示跳绳次数的值。
【输出】一行一句话,表示跳绳的程度。
【输入样例】220
【输出样例】跳绳达人!
点击查看代码
#include<bits/stdc++.H>
using namespace std;
int main(){
int a;
cin>>a;
if(a >= 200) cout<<"跳绳达人";
if(a < 200) cout<<"继续努力";
if(a >= 200) cout<<"跳绳达人";
else cout<<"继续努力";
return 0;
}
【实例 - 90】:奇偶数判断
【题目描述】给定一个整数,判断该数是奇数还是偶数。如果n是奇数,输出odd;如果n是偶数,输出even。
【输入】输入仅一行,一个大于零的正整数n。
【输出】输出仅一行,如果n是奇数,输出odd;如果n是偶数,输出even。
【输入样例】5
【输出样例】odd
点击查看代码
#include<bits/stdc++.H>
using namespace std;
int main(){
int a;
cin>>a;
if(a % 2 != 0) cout<<"odd";
if(a % 2 ==0) cout<<"even";
if(a % 2 == 0) cout<<"even";
else cout<<"odd";
return 0;
}
【实例 - 91】:选择题判定
【题目描述】受疫情的影响,2020 年蓝桥杯大赛青少年创意编程 C++ 组的省赛在网上进行。选择题有 5 道,都是单选题,每道 30 分,共计 150 分。每道选择题选对得 30 分,选错或者不选得 0 分。注意以下仅为假设,不代表本场考试选择题的真实答案,仅是针对本编程题假设出的答案。假设正确的答案为 "DCBAD",那么你能根据选手的提交情况,判定选手的选择题总分吗?选手提交一个由5个字符组成的字符串,代表选手的选项。字符串仅能包含如下 5 种字符:"D"、"C"、"B"、"A"、"E"。其中 "A"、"B"、"C"、"D" 代表选手选择了某个选项,而 "E" 代表选手未做该题。
【输入】选手提交的一个由 5 个字符组成的字符串。
【输出】一个整数,代表选手选择题的总分。
【输入样例】DCEAA
【输出样例】90
点击查看代码
【实例 - 92】:双面打印
【题目描述】为了方便小蓝的学习,妈妈会把老师发放的材料打印出来。而为了环保,妈妈一般都进行双面打印,也就是一张纸的正反面都打印出相应的内容。举个例子来说:如果一份电子材料有 3
页,那么需要 2 张纸进行打印;如果一份电子材料有 4 页,那么还是需要 2 张纸进行打印。现在已经知道了一份电子版的学习材料的页数 N,你能帮小蓝计算一下需要几张纸吗?
【输入】整数 N(0≤N≤1000),代表一份电子版的学习材料的页数。
【输出】双面打印所需纸的张数。
【输入样例】7
【输出样例】4
点击查看代码
#include<bits/stdc++.H>
using namespace std;
int main(){
int a;
cin>>a;
if(a % 2) cout<<a/2+1;
else cout<<a/2;
return 0;
}
【实例 - 93】:蜗牛爬行
【题目描述】蜗牛准备向着神秘国度进发了。已知它爬行的时候需要吃菜叶补充能量。如果它爬行的过程中的前 6厘米,每爬行 1 厘米要吃 5 毫克的菜叶,之后超过 6 厘米的部分每 1 厘米需要吃 7 毫克菜叶。已知今天它向着神秘国度进发了 n厘米,请问它会吃掉多少毫克的菜叶?
【输入】输入为一个整数 n,表示蜗牛爬行的距离(1≤n≤10)。
【输出】输出一行,包含一个整数,表示蜗牛吃了多少毫克的菜叶。
【输入样例】5
【输出样例】25
点击查看代码
#include<bits/stdc++.H>
using namespace std;
int main(){
int a;
cin>>a;
if(a <= 6) cout<<a*5;
else cout<< a * 5 + (a - 6) * 7;
return 0;
}
【实例 - 94】:内功逼毒
【题目描述】黄蓉中了毒,在 t时间内不解毒就会毒发身亡。郭靖用内功帮她把毒逼出来,每个单位时间可以逼出 m 点毒,而黄蓉一共中了 n点毒。现在请你判断黄蓉能否得救?
【输入】三个整数 t,n,m (1≤t,n,m≤104)。
【输出】如果黄蓉能得救,输出"yes";否则输出"no"。
【输入样例】100 1001 10
【输出样例】no
点击查看代码
#include<bits/stdc++.H>
using namespace std;
int main(){
int t,n,m;
cin>>t>>n>>m;
if(t*m >= n) cout<<"yes";
else cout<<"no";
return 0;
}
【实例 - 95】:奇偶ASCII值判断
【题目描述】任意输入一个字符,判断其ASCII值是否是奇数,若是,输出YES,否则,输出NO。例如,字符'A'的ASCII值是65,则输出YES,若输入字符'B'(ASCII值是66),则输出NO。
【输入】输入一个字符。
【输出】如果其ASCII值为奇数,则输出YES,否则,输出NO。
【输入样例】A
【输出样例】YES
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
char a;
cin>>a;
int b;
b = a;
cout<<b;
if(b % 2 != 0)cout<<"yes";
else cout<<"no";
// 三目运算符
b%2!=0?cout<<"yes":cout<<"no";
return 0;
}
【实例 - 96】:公园门票
【题目描述】公园门票的票价是每人50元,一次购票满30张,每张可以少收2元。试编写自动计费系统程序。
【输入】输入一个正整数,表示购票的数量,输入数字在int范围内。
【输出】输出一个整数,表示用户实际需要支付的金额。
【输入样例】30
【输出样例】1440
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
if(a >= 30)cout<<a * 48;
else cout<<a * 50;
// 三目运算符
a >= 30?cout<<a * 48:cout<<a * 50;
return 0;
}
【实例 - 97】:比大小
【题目描述】试编一个程序,输入两个整数,比较大小,并按照从小到大的顺序输出。
【输入】一行两个整数。
【输出】一行两个整数,按从小到大的顺序输出,中间一个空格隔开。
【输入样例】2 1
【输出样例】1 2
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
if(a > b)cout<<a<<b;
else cout<<b<<a;
return 0;
}
【实例 - 98】:睡眠
【题目描述】一个人只有每天睡眠时间到达 8小时才算是睡够的。现在统计出某个人的中午睡觉时间 x 分钟,晚上睡觉时间 y
小时,请你计算他是否睡眠充足。已知,中午睡觉 1分钟相当于晚上睡觉 3 分钟, 8小时是以晚上睡觉时间为标准。
【输入】两个整数 x(0≤x≤1000),y (0≤y≤7),分别表示中午睡觉的分钟数和晚上睡觉的小时数。
【输出】如果睡眠时间充足,输出"Yes";否则输出"No"。
【输入样例】40 6
【输出样例】Yes
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,m;
cin>>a>>b;
m = a + b * 60;
if(m>=480)cout<<"yes";
else cout<<"no";
// 三目运算符
m>=480?cout<<"yes":cout<<"no";
return 0;
}
【实例 - 99】:孔融让梨
【题目描述】孔融小时候聪明好学,才思敏捷,大家都夸他是神童。一日,父亲叫孔融分梨,孔融挑了个最小的梨,其余按长幼顺序分给兄弟。现在,有3个梨。输入3个整数表示这3个梨的重量,请输出最小的数。
【输入】3个整数,表示3个梨的重量。
【输出】最小的数。
【输入样例】3 4 5
【输出样例】min=3
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
if(a > b){
if(b < c)cout<<b;
else cout<<c;
}else{
if(a<c)cout<<a;
else cout<<c;
}
// 三目运算符
a>b?b<c?cout<<b:cout<<c:a<c?cout<<a:cout<<c;
return 0;
}
【实例 - 100】:卡牌游戏
【题目描述】有一种卡牌游戏,玩家有无数张卡牌,每张卡片都写着一个正整数 a表示这张卡牌能对敌人造成的伤害值,即打出这张卡牌会使敌人的血量减少 a 。已知敌人的血量为 b,当敌人的血量小于等于 0时,玩家就取得了胜利。请问玩家至少要使用多少张卡牌,才能取得胜利。
【输入】输入有两个空格隔开的正整数 a,b(1≤a,b≤10^9)。
【输出】输出一行,包含一个整数,表示该玩家至少要使用的牌数。
【输入样例】3 7
【输出样例】3
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int card,em;
cin>>card,em;
if(em%card == 0){
cout<<em / card;
}else{
cout<<em / card + 1;
}
cout<<(em - 1)/card + 1;
return 0;
}
【实例 - 101】:还要等多久
【题目描述】晶晶又想打电话给贝贝,可是这次他碰到了另一个问题。晶晶不想打扰贝贝课,也不想才刚打通电话她就要上课去了,因此他决定一定要在刚好 25分钟的时候打电话给她。给你现在的时间的分钟,请你帮他算算看还要等多久才能打电话给贝贝?
【输入】输入只有一行,包含现在时间的分钟 m(0≤m≤59)。
【输出】输出还要等几分钟晶晶才能打电话。
【输入样例】20
【输出样例】5
点击查看代码
【实例 - 102】:苹果和虫子
【题目描述】你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
【输入】输入仅一行,包括n,x和y(均为整数)。
【输出】输出也仅一行,剩下的苹果个数。
【输入样例】10 4 9
【输出样例】7
点击查看代码
【实例 - 103】:组别判断
【题目描述】信息学课上要同学分组做期末报告,分组的方式为依座号顺序,每 3个人一组。如:1, 2, 3 为第一组,4, 5, 6为第二组….以此类推。
输入一个同学的座号,请判断他在哪一组。
【输入】输入只有一行,含有一个正整数 n(1≤n≤60),代表那个同学的座号。
【输出】输出组别。
【输入样例】7
【输出样例】3
点击查看代码
【实例 - 104】:计算邮资
【题目描述】根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。
【输入】输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。
【输出】输出一行,包含一个整数,表示邮费。
【输入样例】1200 y
【输出样例】17
点击查看代码
【实例 - 105】:鸡兔同笼
【题目描述】一个笼子里面关了鸡和兔子(鸡有 2只脚,兔子有 4 只脚,没有残疾的)。已经知道了笼子里面脚的总数 a,问笼子里面至少有多少只动物,至多有多少只动物。
【输入】一行,一个正整数 a(a<32768)。
【输出】一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开,如果没有满足要求的答案,则输出两个 0,中间用一个空格分开。
【输入样例】20
【输出样例】5 10
点击查看代码
#include<iostream>
using namespace std;
int main(){
int a;
if(n%4==0){
cout<<n/4<<' '<<n/2;
}else{
if(n%2 == 0){
cout<<n/4+1<<' '<<n/2;
}else {
cout<<0<<' '<<0;
}
}
}
【实例 - 106】:判断身材
【题目描述】漫漫长假,许多人都不同程度地长胖了,肥胖严重影响人们的身体健康。现在请你编写一个程序,根据身高(厘米)、体重(千克),判断某人的的身材是否标准。说明:标准体重=(身高 - 100
)× 0.9。实际体重超过标准体重的 1.1 倍则为肥胖;实际体重小于标准体重的 0.9倍则为瘦;否则认为属于标准范畴。
【输入】输入两个整数,分别表示身高(单位为厘米)、体重(单位为千克)。
【输出】输出 fat 表示胖,或者 thin 表示瘦,或者 standard 表示标准。
【输入样例】100 130
【输出样例】fat
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y;
double z;
cin>>x>>y;
// scanf("%d%d",&x,&y);
z = (x - 100) * 0.9;
if(y > z * 1.1){
cout<<"fat";
// printf("fat");
}else if(y < z * 0.9){
cout<<"thin";
// printf("thin");
}else{
cout<<"standard";
// printf("standard");
}
return 0;
}
【实例 - 107】:田忌赛马
【题目描述】齐国大将田忌,很喜欢赛马。一次他与齐威王约定,进行一场比赛。他们准备将马分为上、中、下三等马。可田忌太笨了,他不知道怎么分,于是找到了你。现在输入3
个浮点数,表示3匹马的速度,请从小到大输出。
【输入】3个浮点数,表示3匹马的速度。
【输出】从小到大排序后的3个数。
【输入样例】8 6 7
【输出样例】6 7 8
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
double a,b,c,temp;
cout<<a<<' '<<b<<' '<<c<<endl;
return 0;
}
【实例 - 108】:整数大小比较
【题目描述】输入两个整数,比较它们的大小。若x>y,输出>;若x=y,输出=;若x<y,输出<。
【输入】一行,包含两个整数x和y,中间用单个空格隔开。
【输出】一个字符。若x>y,输出 > ;若x=y,输出 = ;若x<y,输出 <。
【输入样例】1000 100
【输出样例】>
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y;
cin>>x>>y;
// if(x>y)cout<<">";
// if(x==y)cout<<"=";
// if(x<y)cout<<"<";
if(x>y)cout<<">";
else if(x==y)cout<<"=";
else cout<<"<";
return 0;
}
【实例 - 109】:三个数
【题目描述】输入三个整数,按从大到小的顺序输出。
【输入】输入三个整数。
【输出】按从大到小的顺序输出。
【输入样例】1 2 3
【输出样例】3 2 1
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
// 按照大小顺序输出
if(a>b && a>c){
if(b>c)cout<<a<<b<<c;
else cout<<a<<c<<b;
}else if(b>a && b>c){
if(a>c)cout<<b<<a<<c;
else cout<<b<<c<<a;
}else{
if(a>b)cout<<c<<a<<b;
else cout<<c<<b<<a;
}
// 交换变量值,固定输出
int temp; // 交换变量 ,a永远是最大值,c永远是最小值
if(a<b){
temp = a;
a = b;
b = temp;
// a>b 交换后的情况
}
// a>b 上面执行的结果 ,无论上面执不执行,必然的,一定的
if(a<c){
temp = a;
a = c;
c = temp;
// a > c 交换后的
}
// a 一定是最大值
// 下一步是确定c是最小值
if(b<c){
temp = b;
b = c;
c = temp;
}
// a是最大值,c是最小值
cout<<a<<b<<c;
return 0;
}
【实例 - 110】:比大小
【题目描述】输入一个正方形的边长(a)及一个长方形的长与宽(b、c),然后比较两个图形的面积。如果长方形面积大,输出 "RECTANGLE";如果正方形面积大,输出 "SQUARE",如果一样大,输出 "SAME"。
【输入】输入正整数 a,b,c(0<a,b,c≤1000),分别代表正方形的边长和长方形的长与宽。
【输出】
如果长方形面积大,输出 "RECTANGLE"。
如果正方形面积大,输出 "SQUARE"。
如果一样大,输出 "SAME"。
【输入样例】5 4 6
【输出样例】SQUARE
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
// a 正方形边长,面积 a*a ;
// b c长方形的长、宽,面积:a*b;
cin>>a>>b>>c;
if(a*a > a*b)cout<<"SQUARE";
else if(a*a < a*b) cout<<"RECTANGLE";
else cout<<"SAME";
return 0;
}
【实例 - 111】:骑车与走路
【题目描述】在清华校园里,没有自行车,上课办事会很不方便。但实际上。并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。如果骑车快,输出一行"Bike";如果走路快,输出一行"Walk";如果一样快,输出一行"All"。
【输入】输入一行,包含一个整数,表示一次办事要行走的距离,单位为米。
【输出】输出一行,如果骑车快,输出一行"Bike";如果走路快,输出一行"Walk";如果一样快,输出一行"All"。
【输入样例】120
【输出样例】Bike
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
// 车的时间与走路的时间进行比较,谁的时间少谁就快。
// 车 : 路程/速度(3) + 27 + 23
// 行走:路程/速度(1.2)
if((a/3+27+23)<(a/1.2))cout<<"BIKE";
else if((a/3+27+23)>(a/1.2))cout<<"walk";
else cout<<"all";
int bike_time,walk_time;
bike_time = a/3+27+23;
walk_time = a/1.2;
if(bike_time < walk_time)cout<<"BIKE";
else if(bike_time > walk_time)cout<<"walk";
else cout<<"all";
return 0;
}
【实例 - 112】:判断生肖
【题目描述】我们中国人对老鼠的感情可不一般,鼠是中国传统十二生肖之首。那么 2020年出生的“20 后”是否都是“鼠宝宝"呢?其实不是,2020 年 1 月 1 日 ~ 1 月 24 日出生的“20 后”,仍然是“猪宝宝",因为他们出生在农历己亥猪年;大年初一(1 月 25 日)及之后出生的“20后”才是“鼠宝宝”。那么接下来请你判断一下,以下生日的宝宝是“猪宝宝”还是“鼠宝宝”?
【输入】符合常识的两个空格分隔的整数 month,day,分别代表宝宝出生的月份及日子。(1≤month≤12,1≤day≤31)
【输出】若是“猪宝宝”请输出 "Pig";若是“鼠宝宝”请输出 "Mouse"。
【输入样例】1 1
【输出样例】Pig
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int month,day;
cin>>month>>day;
if(month == 1){
if(day<=24 && day >= 1){
cout<<"pig"<<endl;
}else if(day>=25 && day <= 31){
cout<<"mouse"<<endl;
}else cout<<"输入错误"<<endl;
}else if(month >=1 && month <= 12){
cout<<"mouse";
} else{
cout<<"输入的月份不正确";
}
return 0;
}
【实例 - 113】:范围判断
【题目描述】读入一个整数,若这个数大于1并且小于100,则输出yes。
【输入】一个整数。
【输出】满足条件输出yes,否则不输出。
【输入样例】76
【输出样例】yes
点击查看代码
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
if(n > 1 && n < 100) cout<<"yes";
return 0;
}
【实例 - 114】:收集瓶盖赢大奖
【题目描述】某饮料公司最近推出了一个“收集瓶盖赢大奖”的活动:如果你拥有10个印有“幸运”、或20个印有“鼓励”的瓶盖,就可以兑换一个神秘大奖。现分别给出你拥有的印有“幸运”和“鼓励”的瓶盖数,判断是否可以去兑换大奖。若可以兑换大奖,输出1,否则输出0。
【输入】一行,包含两个整数,分别是印有“幸运”和“鼓励”的瓶盖数,用一个空格隔开。
【输出】一行。若可以兑换大奖,输出1,否则输出0。
【输入样例】11 19
【输出样例】1
点击查看代码
#include<iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
if(n >= 10 || m >= 20) cout<<"1";
else cout<<"0";
return 0;
}
【实例 - 115】:0与1
【题目描述】第一堂计算机概论课上,老师说计算机内部是由很多的小开关来组成:1代表开、0 代表关。于是课堂里的同学便了解了,原来我们平常使用电灯开关就是把 1 变成 0、0 变成 1嘛。
【输入】输入只有一行,含有一个为 0或 1的整数。
【输出】输入为 0则输出 1;输入为 1则输出 0。
【输入样例】1
【输出样例】0
点击查看代码
#include<iostream>
using namespace std;
int main(){
bool n;
cin>>n;
cout<<!n;
return 0;
}
【实例 - 116】:适合晨练
【题目描述】输入温度t的值,判断是否适合晨练。(25≤t≤30,则适合晨练ok!,否则不适合no!)。
【输入】输入温度t的值。
【输出】输出判断结果。
【输入样例】26
【输出样例】ok!
点击查看代码
#include<iostream>
using namespace std;
int main(){
int t;
cin>>t;
if(25 <= t && t<= 30)cout<<"ok!";
else cout<<"no!";
return 0;
}
【实例 - 117】:判断是否为两位数
【题目描述】判断一个正整数是否是两位数(即大于等于10且小于等于99)。若该正整数是两位数,输出1,否则输出0。
【输入】一个正整数,不超过1000。
【输出】一行。若该正整数是两位数,输出1,否则输出0。
【输入样例】54
【输出样例】1
点击查看代码
#include<iostream>
using namespace std;
int main(){
int t;
cin>>t;
if(10 <= t && t<= 99)cout<<"1";
else cout<<"0";
return 0;
}
【实例 - 118】:开灯关灯
【题目描述】尼克家里的灯,全是线型开关的,拉一下开,再拉一下关。小华觉得很好玩,有一次连拉了5下,这时灯是亮的还是灭的呢?(未拉之前,灯是灭的。)试编一个程序,算一算灯是亮的还是灭的。
【输入】无
【输出】一行,亮的输出“灯亮”,否则输出“灯灭”。
【输入样例】无
【输出样例】灯亮
点击查看代码
#include<iostream>
using namespace std;
int main(){
int t;
cin>>t;
if(t%2 == 0)cout<<"灯灭";
else cout<<"灯亮";
if(!(t%2))cout<<"灯灭";
else cout<<"灯亮";
return 0;
}
【实例 - 119】:判断点在第几象限
【题目描述】输入 2个整数 x、y值,表示平面上一个坐标点,判断该坐标点处于第几象限,并输出相应的结果。
【输入】输入 x,y 值表示一个坐标点。坐标点不会处于 x 轴和 y轴上,也不会在原点,所有数据都在int范围内。
【输出】输出对应的象限,用数字 1,2,3,4分别对应四个象限。
【输入样例】1 1
【输出样例】1
点击查看代码
#include <iostream>
using namespace std;
int main(){
int x,y;
cin>>x>>y;
if(x>0 && y>0)cout<<"1";
if(x<0 && y>0)cout<<"2";
if(x<0 && y<0)cout<<"3";
if(x>0 && y<0)cout<<"4";
return 0;
}
【实例 - 120】:点和正方形的关系
【题目描述】有一个正方形,四个角的坐标 (x,y) 分别是 (1, −1),(1,1),(−1,−1),(−1,1),x 是横轴,y是纵轴。请你写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。
【输入】输入一行,包括两个整数 x、y,以一个空格分开,表示坐标 (x,y)(−10≤x,y≤10)。
【输出】输出一行,如果点在正方形内,则输出"yes",否则输出 "no"。
【输入样例】1 1
【输出样例】yes
点击查看代码
#include<iostream>
using namespace std;
int main(){
int x,y;
cin>>x>>y;
if(-1<=x<=1 && -1<=y<=1)cout<<"yes";
else cout<<"no";
return 0;
}
【实例 - 121】:定制毕业服
【题目描述】每年的毕业班都会定制一定量 T-shirt 。T-shirt 有不同的尺寸。关于 T-shirt 的申请定制建议如下:
身高在 150cm 及以下的,可以申请尺寸为S的 T-shirt。
身高在 151cm 及以上,160cm 及以下的,可以申请尺寸为M的 T-shirt。
身高在 161cm 及以上,170cm 及以下的,可以申请尺寸为L的 T-shirt。
身高在 171cm 及以上,180cm 及以下的,可以申请尺寸为XL的 T-shirt。
身高在 181cm 及以上的,可以申请尺寸为XXL的 T-shirt。
【输入】一行一个整数x(140≤x≤200),表示身高。
【输出】一个字符或者字符串,为计划应该申请的 T-shirt 的尺寸。
【输入样例】160
【输出样例】M
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int h;
cin>>h;
if(h<=150) cout<<"S";
else if(h<=160)cout<<"M";
else if(h<=170) cout<<"L";
else if(h<180) cout<<"XL";
else cout<<"XXL";
return 0;
}
【实例 - 122】:判断整数位数
【题目描述】给定一个不多于 5位的整数,判断它是几位数,并输出。
【输入】一个不多于 5位的整数。
【输出】输出整数的位数,单独占一行。
【输入样例】160
【输出样例】3
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
if(n<10) cout<<"1";
else if(n<100)cout<<"2";
else if(n<1000) cout<<"3";
else if(n<10000) cout<<"4";
else if(n<10000)cout<<"5";
return 0;
}
【实例 - 123】:字符类型判断
【题目描述】输入一个字符,判断该字符是否大写字母、小写字母、数字字符或其他字符。分别输出对应的提示信息。
【输入】输入为一个字符。
【输出】如果该字符是大写字母,则输出"upper";若是小写字母,则输出"lower";若是数字字符,则输出"digit";若是其他字符,则输出"other"。(输出不含双引号)
【输入样例】1
【输出样例】digit
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
char a;
cin>>a;
if(a>='A' && a<='Z') cout<<"upper";
else if('a'<=a && a<='z') cout<<"lower";
else if(a <= '0' && a <= '9') cout<<"digit";
else cout<<"other";
return 0;
}
【实例 - 124】:年龄段判断
【题目描述】输入一个整数n(保证范围在0到25之间),表示一个人的年龄。
如果n在0∼3的范围内,输出"infant"。
如果n在4∼12的范围内,输出"child"。
如果n在13∼18的范围内,输出"youngster"。
如果n在19∼25的范围内,输出"youth"。
【输入】一个整数(范围在0到25之间)。
【输出】一个英文单词,如题目描述所述。
【输入样例】3
【输出样例】infant
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int age;
cin>>age;
if(age<=3) cout<<"infant";
else if (age <= 14) cout<<"child";
else if (age <= 18) cout<<"youngster";
else if (age <= 25) cout<<"youth";
return 0;
}
【实例 - 125】:邮寄包裹
【题目描述】邮局对邮寄包裹有如下规定:若包裹的重量超过 30千克,不予邮寄,对可以邮寄的包裹每件收手续费 0.2 元,再加上根据下表按重量 x计算的结果。
重量(千克) 收费标准(元/公斤)
x≤10 0.80
10<x≤20 0.75
20<x≤30 0.70
请你编写一个程序,输入包裹重量,输出所需费用或"Fail"表示无法邮寄。
【输入】输入一个整数 x,表示包裹的重量(单位:千克)。(0<x≤100)
【输出】输出对应的费用(答案保留 2位小数)或"Fail"表示无法邮寄。
【输入样例】7
【输出样例】5.80
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int weight;
cin>>weight;
if(weight <= 10) cout<<weight * 0.8 + 0.2;
else if (weight <= 20) cout<<weight * 0.75 + 0.2;
else if (weight <= 30) cout<<weight * 0.7 + 0.2;
else cout<<"Fail";
return 0;
}
【实例 - 126】:神奇装置
【题目描述】fish-finder 是一个能够帮助垂钓者找到鱼的神奇装置。它根据某个物体连续的四个深度来判断这个物体是不是一条鱼。我们的目的是实现一个 fish-finder,具体要求如下:
如果连续的四个深度是严格递增的,fish-finder 发出"Fish Rising"的警报。
如果连续的四个深度是严格递减的,Fish-finder 发出"Fish Diving"的警报。
如果连续的四个深度是相同的,fish-finder 发出"Fish At Constant Depth"警报。
如果都不是,Fish-finder 发出"No Fish"提示。
【输入】一行四个整数 a,b,c,d (1≤a,b,c,d≤100),表示四个深度的大小。
【输出】输出一个字符串,表示一种提示语。
【输入样例】3 4 9 11
【输出样例】Fish Rising
点击查看代码
#include<bits/stdC++.h>
using namespace std;
int main(){
int a,b,c,d;
cin>>a>>b>>c>>d;
if(a<b && b<c && c<d)cout<<"Fish Rising";
else if(a>b && b>c && c>d)cout<<"Fish Diving";
else if(a == b && b == c && c==d)cout<<"Fish At Constant Dept";
else cout<<"No Fish";
return 0;
}
【实例 - 127】:体质指数BMI
【题目描述】体质指数(BMI)是一种衡量人体胖瘦程度及是否健康的标准。它的计算方法如下:
体质指数(BMI)=体重(kg)÷(身高(m)的平方)现在给你一个成年人的身高体重,求他的胖瘦程度(由体质指数求得)。
胖瘦程度 BMI(中国标准)
偏瘦 <18.5
正常 18.5~23.9
偏胖 24~27.9
肥胖 28~39.9
极重度肥胖 ≥40.0
【输入】两个浮点数(float),分别表示身高和体重。
【输出】输出胖瘦程度。
【输入样例】1.71 62
【输出样例】正常
点击查看代码
#include<bits/stdC++.h>
using namespace std;
int main(){
float height,weight,bmi;
cin>>height>>weight;
bmi = weight / (height * height);
if (bmi < 18.5)cout<<"偏瘦";
else if(bmi < 23.9) cout<<"正常";
else if(bmi < 27.9) cout<<"偏胖";
else if(bmi < 39.9) cout<<"肥胖";
else if(bmi > 40.0) cout<<"极重度肥胖";
else cout<<"输入不正确";
return 0;
}
【实例 - 128】:打车费用
【题目描述】周末,格莱尔和爸爸打车到游乐园玩。打车计价方案为:2千米以内起步是6元;超过2千米后按1.8元/千米计价;超过10千米后在1.8元/千米的基础上加价50%。此外,停车等候则按时间计费:每3分钟加收1元(注:不满3分钟不计费)。
【输入】2个整数,分别表示行车路程和停车时间。
【输出】1个数,表示费用。
【输入样例】1 3
【输出样例】7
点击查看代码
#include<bits/stdC++.h>
using namespace std;
int main(){
int distance; // 路程
int time;
float cost;// 费用
cin>>distance>>time;
if (distance <= 2)cost = 6; // 2km计费
else if (distance > 2)cost = 6 + (distance - 2) * 1.8; // 2km计费 + 2km以外10km以内计费
else if (distance > 10) cost = 6 + (distance - 2) * 1.8 + (distance-10)*(1.8*1.5); // 再加10km以外计费
cost = cost + time / 3;
cout<<cost;
return 0;
}
【实例 - 129】:有一门课不及格的学生
【题目描述】给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60
分)。若该生恰好有一门课不及格,输出1;否则输出0。
【输入】一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。
【输出】若该生恰好有一门课不及格,输出1;否则输出0。
【输入样例】50 80
【输出样例】1
点击查看代码
【实例 - 130】:整除相乘
【题目描述】输入两个正整数 a和 b,判断 a 和 b 的乘积能否被 5 整除。若乘积能被 5整除则输出"Yes",否则输出"No"。
【输入】一行两个正整数 a,b (1≤a,b≤1018)。
【输出】一个字符串:"Yes"或者"No"。
【输入样例】108 994
【输出样例】No
点击查看代码
【实例 - 131】:回文数
【题目描述】先计算出两个正整数 a+b的结果 sum,然后要判断 sum是不是回文数。
回文数:设 n是一任意自然数。若将 n 的各位数字反向排列所得自然数 n1与 n 相等,则称 n 为回文数。例如 121 是回文数,而 123不是回文数。
【输入】输入共一行,两个以空格隔开的正整数 a,b(1≤a,b≤100)。
【输出】输出共两行,第一行一个正整数 sum,表示 a,b的和。如果 sum是回文数,则第二行输出 “Yes”,否则第二行输出 “No”。输出不带引号。
【输入样例】80 41
【输出样例】
121
Yes
点击查看代码
#include<bits/stdC++.h>
using namespace std;
int main(){
int a,b,sum;
int gw,sw,bw;
cin>>a,b;
sum = a+b;
gw = sum % 10;
sum = sum / 10
sw = sum % 10;
sum = sum /10;
bw = sum;
if(a+b >0 && a+b <= 9 ) cout<<"yes";
else if(a+b <= 99 && a+b >= 10 && gw = sw)cout<<"yes";
else if(a+b >= 100 && gw == bw)cout<<"yes";
else cout<<"no";
return 0;
}
【实例 - 132】:闰年与平年
点击查看代码
【实例 - 133】:欧耶欧耶
点击查看代码
【实例 - 134】:爱你爱你
点击查看代码
【实例 - 135】:三角形判断
点击查看代码
【实例 - 136】:后天星期
点击查看代码
【实例 - 137】:这个月有几天
点击查看代码
【实例 - 138】:简单计算器
点击查看代码
【实例 - 139】:成绩等级
点击查看代码
【实例 - 140】:王宅六味
点击查看代码
【实例 - 141】:晶晶赴约会
点击查看代码
【实例 - 142】:首字母
点击查看代码
3. 循环结构
【实例 - 143】:重要的话说 n 遍
点击查看代码
【实例 - 144】:26个兄弟姐妹1
点击查看代码
【实例 - 145】:奇数求和
【题目描述】计算非负整数 m到 n(包括 m 和 n)之间的所有奇数的和,其中,m 不大于 n,且 n 不大于 300。例如 m=3,n=12,其和则为:3+5+7+9+11=35。
【输入】两个数 m和 n,两个数以一个空格分开,其中 0≤m≤n≤300。
【输出】输出一行,包含一个整数,表示 m到 n(包括 m 和 n)之间的所有奇数的和。
【输入样例】7 15
【输出样例】55
点击查看代码
#include<iostream>
using namespace std;
int main(){
int n,m,sum;
cin>>m>>n;
for(int i=m;i<=n;i++){
if(i%2){
sum +=i;
}
}
cout<<sum;
return 0;
}
【实例 - 146】:老狼老狼
【实例 - 147】:for循环求和
【实例 - 148】:循环输出
【实例 - 149】:不说脏话
【实例 - 150】:26个兄弟姐妹2
【实例 - 151】:输出奇偶数之和
【题目描述】利用for循环,分别输出1∼n之间的所有奇数的和、偶数的和。
【输入】输入n(1≤n≤100)。
【输出】输出为一行,两个数(用一个空格隔开),偶数之和与奇数之和。
【输入样例】10
【输出样例】30 25
点击查看代码
【实例 - 152】:打老虎
【实例 - 153】:订餐时间
【实例 - 154】:偶数求和
【实例 - 155】:人类的本质
【实例 - 156】:循环判断输出
【实例 - 157】:多数求和
【实例 - 158】:输出偶数
【实例 - 159】:分苹果
【实例 - 160】:求平均年龄
【实例 - 161】:求整数的和与均值
【实例 - 162】:最小n值
【实例 - 163】:第几项
【实例 - 164】:叮叮当当
【实例 - 165】:布纳特难题
【实例 - 166】:称心如意
【实例 - 167】:统计奖牌
【实例 - 168】:求出e的值
【实例 - 169】:数列分段
【实例 - 170】:多边形内角和
【实例 - 171】:满足条件的数累加
【实例 - 172】:短信计费
【实例 - 173】:上课点名
【实例 - 174】:求阶乘
【实例 - 175】:幂的末尾
【实例 - 176】:求小数的某一位
【实例 - 177】:人口增长问题
【实例 - 178】:末两位数
【实例 - 179】:银行利息
【实例 - 180】:平方根
【实例 - 181】:回家作业
【实例 - 182】:按要求计算输出
【实例 - 183】:鸡尾酒疗法
【实例 - 184】:错误减法
【实例 - 185】:奇偶分家
【实例 - 186】:石头剪子布
【实例 - 187】:证书等级
【实例 - 188】:正常血压
【实例 - 189】:年龄与疾病
【实例 - 190】:数值统计
【实例 - 191】:画图
【实例 - 192】:学游泳
【实例 - 193】:凑数
【实例 - 194】:数位积
【实例 - 195】:立方和不等式
【实例 - 196】:种植竹笋
【实例 - 197】:买房子
【实例 - 198】:卡(qia)常数
【实例 - 199】:两位数
【实例 - 200】:凑数
【实例 - 201】:3721数
【实例 - 202】:素数判断
【实例 - 203】:水仙花数
【实例 - 204】:计分程序
【实例 - 205】:配对碱基链
【实例 - 206】:统计数字字符个数
【实例 - 207】:学习加法
【实例 - 208】:分离整数的各个数位
【实例 - 209】:角谷猜想
【实例 - 210】:最大公约数
【实例 - 211】:传输数据
【实例 - 212】:加加乐
【实例 - 213】:大大大
【实例 - 214】:奶牛的数字游戏
【实例 - 215】:计算矩阵边缘元素之和
【实例 - 216】:计数问题
【实例 - 217】:最大质数
【实例 - 218】:矩阵对角线元素之和
【实例 - 219】:不定方程求解
【实例 - 220】:九九乘法表
【实例 - 221】:分数加减表达式的值
【实例 - 222】:求分数序列和
【实例 - 223】:菱形图形
【实例 - 224】:有规律图形
【实例 - 225】:图形的窍门1
【实例 - 226】:图形的窍门2
【实例 - 227】:画出矩形
【实例 - 228】:图形输出
【实例 - 229】:X战警
【实例 - 230】:宇宙大爆炸
【实例 - 231】:大写字母 Y
【实例 - 232】:空心菱形
【实例 - 233】:金字塔
【实例 - 234】:鼓掌次数
【实例 - 235】:球弹跳高度的计算
【实例 - 236】:书香阁座位
【实例 - 237】:蜗牛爬树
【实例 - 238】:鸡兔同笼
【实例 - 239】:百钱买百鸡
函数
【实例 - 240】:字符类型判断
【实例 - 241】:蜗牛字母
【实例 - 242】:ISBN码
【实例 - 243】:小写变大写
【实例 - 244】:打印字符
【实例 - 245】:ASCII码
【实例 - 246】:乘方计算
【实例 - 247】:绝对值排序
【实例 - 248】:最小数和最大数
【实例 - 249】:比分数
【实例 - 250】:计算2的幂
【实例 - 251】:计算星期几
【实例 - 252】:雇佣兵
【实例 - 253】:数学课上
【实例 - 254】:判断浮点数是否相等
【实例 - 255】:计算线段长度
【实例 - 256】:求绝对值
【实例 - 257】:浮点数向零舍入
【实例 - 258】:优秀数字
【实例 - 259】:大象喝水
【实例 - 260】:八进制转十进制
【实例 - 261】:IP地址
【实例 - 262】:转二进制
【实例 - 263】:十进制转八进制
【实例 - 264】:十进制转十六进制
【实例 - 265】:算进制
【实例 - 266】:输出二进制补码
【实例 - 267】:1的个数
【实例 - 268】:内码对称
【实例 - 269】:比特童币
【实例 - 270】:二进制转化为十进制
【实例 - 271】:二进制串
【实例 - 272】:高低位交换
【实例 - 273】:筷子大作战
【实例 - 274】:寻找最低数
【实例 - 275】:数位翻转
【实例 - 276】:计算2的幂
【实例 - 277】:异或运算
【实例 - 278】:小 B 的异或
【实例 - 279】:完全数
【题目描述】一个数如果恰好等于它不包括自身的因子之和,这个数称为"完全数"。 例如,6
的因子为 1、2、3,而 6=1+2+3,因此 6 是"完全数"。 编程序找出 N之内的所有完全数,并按下面格式输出其因子(这里的因子里面,不包含自己)。
【输入】输入一个整数 n(0≤n≤1000)。
【输出】形式如:一个整数,然后 its factors are 后面一些整数,具体可参考样例输出? its factors are ? ? ?
【输入样例】10
【输出样例】6 its factors are 1 2 3
点击查看代码
// 完全数
#include<iostream>
using namespace std;
// 主函数
int main(){
void check(int x); // 函数声明
int n; // 局部变量
cin>>n;
// n以内的数进行遍历
for (int i =1;i<=n;i++){
check(i);
}
return 0;
}
// 自定义函数
void check(int x){
int sum = 0 ; // 局部变量
// 遍历所有到x的数,判断他是否是x的因子
for(int i=1;i<x;i++){
if(x%i==0){ // 如果是做相加处理
sum+=i;
}
}
// 如果相加的和与x一致,则是完全数
if (sum == x){
cout<<x<<"是一个完全数";
// 输出完全数的因数
for (int i=1;i<x;i++){
if(x%i == 0){
cout<<i<<' ';
}
}
cout<<endl;
}
}
【实例 - 280】:数字统计
【题目描述】请统计某个给定范围 [L,R] 的所有整数中,数字 7出现的次数。比如给定范围 [60,80] 中,7一共出现12次。分别是67,77的个位,以及 70~79的十位。
【输入】一行两个数 L,R表示范围,用空格分隔。
【输出】一个整数表示数字 7出现的次数。
【输入样例】60 80
【输出样例】12
点击查看代码
#include<iostream>
using namespace std;
int main(){
int sum(int x); // 函数声明
int l,r,cnt; // 局部变量
cin>>l>>r; // 输入
// 从60开始 到 80结束,遍历每一个数;
for(int i=l;i<=r;i++){
cnt+=sum(i); // 将这个数传给sum函数
}
cout<<cnt;
return 0;
}
// 定义函数
int sum(int x){
int cnt = 0;
// 逐位取余,个位,十位,
while (x>0){
if (x%10 ==7){
cnt++;
}
x/=10; // 取位数的值
}
return cnt;
}