C++练习题目
Ambitious°
编程初学者
展开
-
苹果和虫子
描述你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?输入输入仅一行,包括n,x和y(均为整数)。输入数据保证y <= n * x。输出输出也仅一行,剩下的苹果个数样例输入10 4 9样例输出7#include<iostream>#include...原创 2019-08-15 17:14:22 · 252 阅读 · 0 评论 -
寻找配对数
在给定的n个互不相等的正整数中,寻找可以形成a*b=c的等式(a,b,c互不相等)的数目。比如在12,32,6,1,2,8,4中,只有2*4=8, 2*6=12, 4*8=32三对。#include<iostream>#include<cmath>using namespace std;int a[1100];int main(){ int n,m,s=...原创 2019-08-30 22:07:16 · 470 阅读 · 0 评论 -
正方形长方形的个数
设有一个n*m方格的棋盘(1≤m,n≤100)。求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。例如:当n=2,m=3时正方形的个数有8个;即边长为1的正方形有6个;边长为2的正方形有2个。长方形的个数有10个即2*1的长方形有4个1*2的长方形有3个3*1的长方形有2个3*2的长方形有1个#include<iostream>#include<c...原创 2019-08-30 22:09:30 · 940 阅读 · 0 评论 -
校门外的树
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移...原创 2019-08-30 22:11:06 · 82 阅读 · 0 评论 -
有趣的跳跃
一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1)。例如,1 4 2 3存在“有趣的跳跃”,因为差的绝对值分别为3,2,1。当然,任何只包含单个元素的序列一定存在“有趣的跳跃”。你需要写一个程序判定给定序列是否存在“有趣的跳跃”。#include<iostream>#include<cstdio>#inc...原创 2019-08-30 22:11:57 · 475 阅读 · 0 评论 -
石头剪刀布
石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。一天,小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期不断循环的。请问,小A和小B比了N轮之后,谁赢的轮数多?#include<iostream>#include<cmath...原创 2019-08-30 22:12:50 · 565 阅读 · 0 评论 -
做游戏
有M个小孩子围成一圈做游戏,每个小孩子都有一个初始的号码。游戏有X步,每一步的操作方法都相同:每个小孩子把自己手上的号码改写成自己原来的号码加上右手边的小孩子的号码除以100的余数。请问你:经过X步之后,每个小孩子手上的号码是多少? 比如:有3个初始编号为{1,2,3}的小孩子,第一步操作完成之后,他们的编号变成了{1+2,2+3,3+1}即{3,5,4}。#include<iostrea...原创 2019-08-30 22:13:31 · 690 阅读 · 0 评论 -
倒置排序
将一些整数按倒置值排序后输出. 所谓倒置,是指把整数各位倒过来构成一个新数,例如:13倒置成了31.#include<iostream>#include<cmath>#define t 10000+10int a[t],b[t];using namespace std;int main(){ int N,s,n,m; cin>>N;...原创 2019-08-30 22:14:51 · 2886 阅读 · 2 评论 -
计算鞍点
给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。#include<iostream>#include<cstdio>#include<cmath>#define t 100+10using namespace std;int main(){ ...原创 2019-08-30 22:16:23 · 643 阅读 · 0 评论 -
计算矩阵边缘元素之和
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。#include<iostream>#include<cmath>#define t 10000+10int a[t][t];using namespace std;int main(){ int s=0,n,m; cin>&...原创 2019-08-30 22:17:18 · 761 阅读 · 0 评论 -
扫雷游戏地雷数计算
扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。#include<iostream>#include<cmath>#define t 10000+10char a[t][t];int b[t][t]={0};using ...原创 2019-08-30 22:18:28 · 625 阅读 · 0 评论 -
津津的储蓄计划
津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手...原创 2019-08-23 15:48:30 · 197 阅读 · 0 评论 -
粘墙“三角形”
#include<iostream>#include<cstdio>using namespace std;int main(){ int n; char a; a=97; while(cin>>n) { for(int i=1;i<=n;i++) { cout<<a; for(in...原创 2019-08-23 15:41:33 · 1054 阅读 · 0 评论 -
判断能否被3,5,7整除
描述给定一个整数,判断它能否被3,5,7整除,并输出以下信息:1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔);3、只能被其中一个数整除(输出这个除数);4、不能被任何数整除,输出小写字符‘n’,不包括单引号。输入输入一行,包括一个整数。输出输出一行...原创 2019-08-15 17:16:52 · 2168 阅读 · 0 评论 -
计算邮资
描述根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。输入输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。输出输出一行,包含一个整数,表示...原创 2019-08-15 17:19:40 · 461 阅读 · 0 评论 -
判断闰年
描述判断某年是否是闰年。输入输入只有一行,包含一个整数a(0 < a < 3000)输出一行,如果公元a年是闰年输出Y,否则输出N样例输入2006样例输出N#include<iostream>#include<cstdio>#include<cmath>using namespace std;int main(){ i...原创 2019-08-15 17:21:49 · 297 阅读 · 0 评论 -
有多少位是7
描述从键盘读入一个4位数的整数,求该数中有多少位是7输入一个4位数的整数输出该整数中7的个数 #include<iostream> #include<cstdio> using namespace std; int main() { int i=0,n; cin>>n; ...原创 2019-08-23 15:19:42 · 3793 阅读 · 0 评论 -
画矩形
描述根据参数,画出矩形。输入输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。输出输出画出的图形。#include<iostream>#include<cstdio>using namespace st...原创 2019-08-23 15:24:28 · 280 阅读 · 0 评论 -
金币
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。你需要编写一个程序,确定从第一天开始的给定天数内...原创 2019-08-23 15:25:50 · 125 阅读 · 0 评论 -
含k个3的数
输入两个正整数 m 和 k,其中1 < m < 100000,1 < k < 5 ,判断 m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。#include<iostream>using namespace std;int main(){ int i,k,j=0,n; cin>>n>>k; i...原创 2019-08-23 15:27:22 · 460 阅读 · 0 评论 -
数字反转
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。#include<iostream>#include<cmath>using namespace std;int main(){ int N,m,M=0; cin>>N; if(N<0) { ...原创 2019-08-23 15:30:16 · 116 阅读 · 0 评论 -
敲七
输出7和7的倍数,还有包含7的数字。#include<iostream>using namespace std;int main(){ int n,i; cin>>n; for(i=1;i<=n;i++) { if(i%7==0||i%10==7||(i/10)%10==7||(i/100)%10==7||(i/1000)%...原创 2019-08-23 15:34:51 · 663 阅读 · 0 评论 -
求两数的最小公倍数
#include<iostream>#include<cstdio>using namespace std;int main(){ int i,j,n,m,r; cin>>n>>m; i=m; j=n; r=n%m; while(r) { n=m; m=r...原创 2019-08-23 15:38:37 · 155 阅读 · 0 评论 -
矩阵交换行
给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。#include<iostream>using namespace std;int main(){ int n,i,j,m; int a[6][6]; for(i=1;i<=5;i++) { for(j=1;j<=5;j++) ...原创 2019-09-17 16:21:38 · 663 阅读 · 0 评论