菜鸟移动端网站开发,纪检网站建设计划书,安卓小程序开发入门,北京市建设工程信息网站1.台球游戏
【问题描述】 在本台球游戏中#xff0c;包含多种颜色的球#xff0c;其中#xff1a;红球15只各1分、黄球1只2分、绿球1只3分、咖啡球1只4分、蓝球1只5分、粉球1只6分、黑球1只7分。 球的颜色表示为#xff1a; r-红色球 y-黄色球 g-绿色球 c-咖啡色球 b-蓝色…1.台球游戏
【问题描述】 在本台球游戏中包含多种颜色的球其中红球15只各1分、黄球1只2分、绿球1只3分、咖啡球1只4分、蓝球1只5分、粉球1只6分、黑球1只7分。 球的颜色表示为 r-红色球 y-黄色球 g-绿色球 c-咖啡色球 b-蓝色球 p-粉红球 B-黑色球 其中红球可能一次打进多个且打进后不再摆回其他球打进之后需要再摆回。 请计算n次击打之后总的得分。
【输入形式】 输入第一行为非负整数n表示一个人进行了n次击打。 接下来为n次击打记录每次记录有两种形式: 如果打进红球则有两行 第一行为r第二行为一个整数(15)表示打进的红球个数 如果打进其他球仅有一行为ygcbpB中任意一个字符。 【输出形式】 输出一个整数表示该人最终的得分。 【样例输入1】
5
r
3
g
y
r
1
B
【样例输出1】
16
【样例输入2】
5
c
g
y
c
B
【样例输出2】
20
【样例说明】
本题计算时无需考虑真实台球竞赛规则。
//台球游戏
//在本台球游戏中包含多种颜色的球其中红球15只各1分、黄球1只2分、绿球1只3分、咖啡球1只4分、蓝球1只5分、粉球1只6分、黑球1只7分。
//
// 球的颜色表示为
//
// r-红色球 y-黄色球 g-绿色球 c-咖啡色球 b-蓝色球 p-粉红球 B-黑色球
//
// 其中红球可能一次打进多个且打进后不再摆回其他球打进之后需要再摆回。
//
// 请计算n次击打之后总的得分。
#includeiostream
using namespace std;
int main()
{int n,tem,score0;char ch;cinn;while(n--){cinch;if(chr){cintem;scoretem*1; //红球得分*个数 }else if(chy){ //黄球 score2;}else if(chg){ //绿球 score3;}else if(chc){ //咖啡色 score4;}else if(chb){ //蓝色 score5;}else if(chp){ //粉色 score6;}else if(chB){ //黑色 score7;} //优化可以用swicth }coutscoreendl;return 0;}
2.ch3-4 分段函数求解
【问题描述】
根据以下函数关系对输入的每个x值求y值。函数关系
1yx*(x2) 2x10
2y2*x -1x2
3yx-1 x-1
【输入形式】
输入一个小数x。
【输出形式】
输出对应的y值6位小数
【样例输入】
1
【样例输出】
2.000000
【样例说明】
x1,则推出y2*x则y1*12保留6位小数输出2.000000
【用例规模与约定】
所有评测用例满足-10000000 ≤ x ≤ 10。
//ch3-4 分段函数求解
//根据以下函数关系对输入的每个x值求y值。函数关系//1yx*(x2) 2x10//2y2*x -1x2//3yx-1 x-1
#includeiostream
#includeiomanip
using namespace std;
int main()
{double x,y;cinx;if(2x x10){yx*(x2);}else if(-1x x2){y2*x;}else if(x-1){yx-1; //分段函数 }coutfixedsetprecision(6)yendl; //保留6位小数 return 0;
}
3.ch3-5 3,5,7整除
【问题描述】
输入一个整数判断其能否被3、5、7整除若
1能同时被3,5,7整除则输出Its divisible by 3,5,7
2能被其中两数要指出哪两个整除如能被3,7整除则输出Its divisible by 3,7
3能被其中一个数要指出哪一个整除如能被3整除则输出Its divisible by 3
4不能被3,5,7任一个整除则输出null。 【输入形式】
输入一个整数n。
【输出形式】
输出一个判断信息表示答案。
【样例输入】
30
【样例输出】
Its divisible by 3,5
【样例说明】
30能被3和5整除但是不能被7整除。
【用例规模与约定】
所有评测用例满足-1000000 ≤ n ≤ 10000000。
//ch3-5 3,5,7整除
//输入一个整数判断其能否被3、5、7整除若
//
//1能同时被3,5,7整除则输出Its divisible by 3,5,7
//
//2能被其中两数要指出哪两个整除如能被3,7整除则输出Its divisible by 3,7
//
//3能被其中一个数要指出哪一个整除如能被3整除则输出Its divisible by 3
//
//4不能被3,5,7任一个整除则输出null。
//#includeiostream
using namespace std;
int main(){int n;cinn;if(n%30 n%50 n%70){coutIts divisible by 3,5,7endl; //列出所有情况 }else if(n%30 n%50){coutIts divisible by 3,5endl;}else if(n%30 n%70){coutIts divisible by 3,7endl;}else if(n%50 n%70){coutIts divisible by 5,7endl;}else if(n%30){coutIts divisible by 3endl;}else if(n%50){coutIts divisible by 5endl;}else if(n%70){coutIts divisible by 7endl;}else{coutnullendl;}return 0;
}
4.ch3-6 成绩分类
【问题描述】
给定一个整数表示考试成绩判断并输出该成绩属于哪一类。设90分及以上 为“A”80分至89分为“B”70分至79分为“C”60分至69分 为“D”60分以下为“E”。
【输入形式】
输入一个整数成绩。
【输出形式】
输出一个字符表示成绩的等级大写字母。
【样例输入】
59
【样例输出】
E
【样例说明】
59分低于60分判定为E。
【用例规模与约定】、
所有评测用例满足0 ≤ n ≤ 100。
//ch3-6 成绩分类
//给定一个整数表示考试成绩
//判断并输出该成绩属于哪一类。设90分及以上 为“A”
//80分至89分为“B”70分至79分为“C”60分至69分 为“D”60分以下为“E”。
#includeiostream
using namespace std;
int main()
{int n;cinn;if(n90){coutA;}else if(n80){coutB;}else if(n70){coutC;}else if(n60){coutD;}else{coutE; //分类 }return 0;
}
5.小芳找工作
【问题描述】 小芳在校期间成绩优秀毕业之前她决定去找一份她喜欢的工作她将在自己中意的公司中选择并设定了3个条件满足其中2个条件的工作她认为可以接受。这三个条件分别为 1. 月薪不低于5000元 2. 有带薪休假 3. 离家不超过2000公里 请根据某公司给定的3个给定条件的数据判断小芳是否应该接受该公司的offer。
【输入形式】 输入一行包含3个数据分别表示公司给定的月薪整数、有无带薪休假(y-有n-无)、离家距离整数【输出形式】 输出一行Accept为接受Refuse为拒绝【样例输入】
5500 y 1500
【样例输出】
Accept
//小芳找工作
//小芳在校期间成绩优秀毕业之前她决定去找一份她喜欢的工作她将在自己中意的公司中选择并设定了3个条件满足其中2个条件的工作她认为可以接受。这三个条件分别为
//
// 1. 月薪不低于5000元
//
// 2. 有带薪休假
//
// 3. 离家不超过2000公里
//
// 请根据某公司给定的3个给定条件的数据判断小芳是否应该接受该公司的offer。
#includeiostream
using namespace std;
int main()
{int salary,dis;char ch;cinsalarychdis;if(salary5000 chy){coutAccept;}else if(salary5000 dis2000){coutAccept;}else if(chy dis2000){coutAccept;}else{coutRefuse; //分类讨论 }return 0;} 6.输入字符统计
【问题描述】
从键盘输入n个字符请分别统计大写字母、小写字母、数字、其他字符的个数并输出还需要输出所有数字字符之和。【输入形式】
第一行为一个整数n100n0接下来n行每行一个字符。
【输出形式】
输出第1行为4个整数分别表示大写字母、小写字母、数字、其他字符的个数第2行为一个数字表示其中所有数字字符所对应的数字之和当输入的字符中不包含数字字符时没有第2行。
【样例输入1】
5
a
A
5
6【样例输出1】
1 1 2 1
11
【样例输入2】
5
a
A
B
Z
!
【样例输出2】
3 1 0 1
//输入字符统计
//从键盘输入n个字符请分别统计大写字母、小写字母、数字、其他字符的个数并输出还需要输出所有数字字符之和。
#includeiostream
using namespace std;
int main()
{int n,c10,c20,c30,c40,s0;char ch;cinn;while(n--){cinch;if(chA chZ){c11; //大写字母 }else if(cha chz){c21; //小写字母 }else if(ch0 ch9){c31; //数字 sch-0; //求和 }else{c41; //其他字符 }}coutc1 c2 c3 c4endl;if(c3!0){ //判断有无数字 coutsendl;}return 0;
}
7.四个数排序
【问题描述】
从键盘输入4个整数将其按照从大到小的顺序输出。 【输入形式】
输入一行4个整数 【输出形式】
在一行中输出排序后的4个整数 【样例输入】
15 234 5 18 【样例输出】
234 18 15 5
//四个数排序
//从键盘输入4个整数将其按照从大到小的顺序输出。
#includeiostream
using namespace std;
int main()
{int arr[4]{0};for(int i0;i4;i){cinarr[i];}for(int i0;i4;i){for(int ji1;j4;j){if(arr[i]arr[j]){int temarr[i];arr[i]arr[j];arr[j]tem;} //冒泡排序 }}for(int i0;i4;i){coutarr[i] ;}return 0;
}
8.数字单词
【问题描述】
输入一个字符如果为数字字符0-9则输出其对应英文单词(Zero、One、...、Nine)否则输出Other。 【输入形式】
一行一个字符 【输出形式】
输出一个单词 【样例输入】
5 【样例输出】
Five
//数字单词
//输入一个字符如果为数字字符0-9则输出其对应英文单词(Zero、One、...、Nine)否则输出Other。
#includeiostream
using namespace std;
int main()
{char ch;cinch;if(ch0 ch9){switch(ch){case 0:coutZero;break;case 1:coutOne;break;case 2:coutTwo;break;case 3:coutThree;break;case 4:coutFour;break;case 5:coutFive;break;case 6:coutSix;break;case 7:coutSeven;break;case 8:coutEight;break;case 9: //switch语句讨论 coutNine;break;}}else{coutOther;}return 0;
}
9.数小木块
【问题描述】
在墙角堆放着一堆完全相同的正方体小木块如下图所示 因为木块堆得实在是太有规律了你只要知道它的层数就可以计算所有木块的数量了。 【输入形式】
只有一个整数 n 表示这堆小木块的层数已知1 n 100 。
【输出形式】
只有一个整数表示这堆小木块的总数量。
【样例输入】
5 【样例输出】
35
//数小木块
//在墙角堆放着一堆完全相同的正方体小木块
//因为木块堆得实在是太有规律了你只要知道它的层数就可以计算所有木块的数量了。#includeiostream
using namespace std;
int main()
{int n,s0,t0;cinn;for(int i1;in;i){ti; //当前层的木块数目st; //木块总数 }coutsendl;return 0;
}
10.桃子问题
【问题描述】
某人摘下一些桃子第一天卖掉一半又吃了一个第二天卖掉剩下的一半又吃了一个以后各天都是如此处理到第n天发现只剩下一只桃子试编写程序计算一共摘的桃子个数。
【输入形式】
一行一个整数n1 n 20
【输出形式】
一行一个整数表示一开始的桃子个数。
【样例输入】
2 【样例输出】
4
//桃子问题
//某人摘下一些桃子第一天卖掉一半又吃了一个第二天卖掉剩下的一半又吃了一个
//以后各天都是如此处理到第n天发现只剩下一只桃子试编写程序计算一共摘的桃子个数。
#includeiostream
using namespace std;
int main()
{int n,y1; //记录桃子总数 cinn; while(n1){y(y1)*2; //递推 n-1;}coutyendl;return 0;
}
11.三个人比大小
【问题描述】 输入A、B、C3个人的生日格式为yyyy mm dd按照年龄从大到小输出。 【输入形式】 输入有3行分别表示A、B、C三个人的生日。 【输出形式】 ABC或ACB或BAC或BCA或CAB或CBA 【样例输入】
2018 1 12
1997 7 1
2000 12 31
【样例输出】
BCA
【技巧提示】
生日比较需要按照优先级分别比较年月日可以考虑将年月日转化为一个整数 s10000*year100*monthday
//三个人比大小
//输入A、B、C3个人的生日格式为yyyy mm dd按照年龄从大到小输出。
#includeiostream
using namespace std;
int main()
{int y1,m1,d1,y2,m2,d2,y3,m3,d3;ciny1m1d1y2m2d2y3m3d3;int s1y1*10000m1*100d1;int s2y2*10000m2*100d2;int s3y3*10000m3*100d3; //转化成一个整数 if(s1s2s2s3){coutCBA;}else if(s1s3s3s2){coutBCA;}else if(s2s1s1s3){coutCAB; //分类讨论 }else if(s2s3s3s1){coutACB;}else if(s3s1s1s2){coutBAC; }else if(s3s2s2s1){coutABC;}return 0;
}
12.小希找工作
【问题描述】 小希看到小芳很容易就找到了她满意的工作他也想去尝试一下并参考了小芳找工作的方法。 与小芳不同的是小希希望根据三个条件综合评估来选择。 月薪得分: 月薪/5000*100取整 带薪假得分有20分无0分 离家距离得分不超过2000公里为100分。每超过200公里减10分不足200公里按200公里计算直至0分为止。 给定3个公司A、B、C的数据根据分数最大来判断小希应该接受哪家公司的offer。如果分数相同按照A、B、C的顺序进行优先选择。
【输入形式】 输入为3行分别为A、B和C公司的数据每行包含3个数据分别表示公司给定的月薪整数、有无带薪休假(y-有n-无)、离家距离整数所有的输入保证没有两个公司最终的得分相等。【输出形式】 输出一行一个字符(A或B或C表示小希应该选择的公司)【样例输入】
24723 y 23588
37395 n 32313
36389 n 21061
【样例输出】
B
//小希找工作
// 小希看到小芳很容易就找到了她满意的工作他也想去尝试一下并参考了小芳找工作的方法。
//
// 与小芳不同的是小希希望根据三个条件综合评估来选择。
//
// 月薪得分: 月薪/5000*100取整
//
// 带薪假得分有20分无0分
//
// 离家距离得分不超过2000公里为100分。每超过200公里减10分不足200公里按200公里计算直至0分为止。
//
// 给定3个公司A、B、C的数据根据分数最大来判断小希应该接受哪家公司的offer。如果分数相同按照A、B、C的顺序进行优先选择。
#includeiostream
#includemath.h
using namespace std;
int main()
{int s1,d1,s2,d2,s3,d3,f10,f20,f30;char c1,c2,c3;cins1c1d1s2c2d2s3c3d3;f1(s1/5000)*100;f2(s2/5000)*100;f3(s3/5000)*100; //月薪得分计算 if(c1y){f120;}if(c2y){f220; }if(c3y){f320;}if(d12000){f1100;}else if(d14000){f1100-ceil((d1-2000)/200.0)*10;}if(d22000){f2100;}else if(d24000){f2100-ceil((d2-2000)/200.0)*10; //向上取整 } if(d32000){f3100;}else if(d34000){f3100-ceil((d3-2000)/200.0)*10;}if(f1f2f1f3){coutA;}else if(f2f3f2f1){ //结果判断 coutB;}else if(f3f2f3f1){coutC;}return 0;
}
13.个人所得税计算
【问题描述】 2018年8月31日第十三届全国人民代表大会常务委员会第五次会议《关于修改〈中华人民共和国个人所得税法〉的决定》将个税免征额由3500元提高到5000元。 缴纳个人所得税是收入达到缴纳标准的公民应尽的义务个人所得税率是由国家相应的法律法规规定的根据个人的收入计算。 个人所得税的计算公式为 应缴税额月收入-5000-专项扣除* 税率 - 速算扣除数 请根据输入的月收入和专项扣除额计算相应的应缴税额。
【输入形式】 输入为一行两个整数分别表示月收入和专项扣除额。 【输出形式】 输出为一个数即缴税额。 【样例输入】
10000 2000
【样例输出】
90
//个人所得税计算
//个人所得税的计算公式为
//
// 应缴税额月收入-5000-专项扣除* 税率 - 速算扣除数
//
// 请根据输入的月收入和专项扣除额计算相应的应缴税额。
#includeiostream
using namespace std;
int main()
{int s,k,y0;cinsk;if((s-5000-k)0){ //保证0 if((s-5000-k)3000){y(s-5000-k)*0.03-0;}else if((s-5000-k)12000){y(s-5000-k)*0.1-210;}else if((s-5000-k)25000){y(s-5000-k)*0.2-1410;}else if((s-5000-k)35000){y(s-5000-k)*0.25-2660;}else if((s-5000-k)55000){y(s-5000-k)*0.3-4410;}else if((s-5000-k)80000){y(s-5000-k)*0.35-7160;}else if((s-5000-k)80000){y(s-5000-k)*0.45-15160; //分类讨论 }}coutyendl;return 0;
}
14.走路去上课还是骑车去上课
【问题描述】 校园里共享单车满地都是有时候还真方便。但实际上。并非去办任何事情都是骑车快因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车开锁上车的时间为27秒停车锁车的时间为23秒步行每秒行走1.2米骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。如果骑车快输出一行Bike如果走路快输出一行Walk如果一样快输出一行All。
【输入形式】
输入一行包含一个整数表示一次办事要行走的距离,单位为米。
【输出形式】
输出一行,如果骑车快,输出一行Bike;如果走路快,输出一行Walk;如果一样快,输出一行All。
【样例输入】
120
【样例输出】
Bike
【样例说明】
为避免浮点误差本题中应使用双精度进行计算。
//走路去上课还是骑车去上课
//校园里共享单车满地都是有时候还真方便。但实际上。并非去办任何事情都是骑车快
//因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车开锁上车的时间为27秒
//停车锁车的时间为23秒步行每秒行走1.2米骑车每秒行走3.0米。请判断走不同的距离去办事,
//是骑车快还是走路快。如果骑车快输出一行Bike如果走路快输出一行Walk如果一样快输出一行All。
#includeiostream
#includeiomanip
using namespace std;
int main()
{int d;double t1,t2;cind;coutfixedsetprecision(6); //设置精度 t150d/3.0;t2d/1.2;if(t1t2){coutWalk;}else if(t2t1){coutBike;}else{coutAll;}return 0;
}
15.运输打折问题 【问题描述】
某运输公司对用户计算运费。路程(s)越远每公里运费越低。标准如下 里程单位公里 折扣 s250 0 250≤s500 2% 500≤s1000 5% 1000≤s2000 8% 2000≤s3000 10% 3000≤s 15%
其中基本运费为每吨每公里1元现请你帮助该运输公司设计自动计费程序来计算运输费用。 【输入形式】
输入为一行两个整数分别表示运输的载重吨和里程公里。 【输出形式】
输出一行一个整数表示运输费用 【样例输入】
1 200 【样例输出】
200
//运输打折问题
//某运输公司对用户计算运费。路程(s)越远每公里运费越低。标准如下
//
//里程单位公里
//
//折扣
//
//s250
//
//0
//
//250≤s500
//
//2%
//
//500≤s1000
//
//5%
//
//1000≤s2000
//
//8%
//
//2000≤s3000
//
//10%
//
//3000≤s
//
//15%
//
//其中基本运费为每吨每公里1元现请你帮助该运输公司设计自动计费程序来计算运输费用
#includeiostream
using namespace std;
int main()
{int m,d,s;cinmd;if(d250){sm*d;}else if(d500){sm*d*(1-0.02);}else if(d1000){sm*d*(1-0.05);}else if(d2000){sm*d*(1-0.08);}else if(d3000){sm*d*(1-0.1);}else{sm*d*(1-0.15);}coutsendl;return 0;}
16.三个数
【问题描述】 有三个非负整数a、b、c现按随机顺序给出它们的两两和以及总和4个整数即ab、ac、bc、abc注意给出的4个数的顺序是随机的请根据这四个数求出a、b、c是多少 【输入形式】 输入为一行4个正整数x1、x2、x3、x4 0≤xi≤109表示ab、ac、bc、abc结果的随机顺序的值输入保证能求出结果。 【输出形式】 输出为一行以非递减的方式输出a、b、c注意a、b、c可能相等。 【样例输入1】
3 6 5 4
【样例输出1】
1 2 3
【样例输入2】
201 101 101 200
【样例输出2】
1 100 100
//三个数
//有三个非负整数a、b、c现按随机顺序给出它们的两两和以及总和4个整数
//即ab、ac、bc、abc注意给出的4个数的顺序是随机的请根据这四个数求出a、b、c是多少
#includeiostream
using namespace std;
int main()
{long long x1,x2,x3,x4; //注意数字范围 int arr[4];cinx1x2x3x4;long long s(x1x2x3x4)/3; //abcarr[0]s-x1;arr[1]s-x2; //假设为对应的值 arr[2]s-x3;arr[3]s-x4;for(int i0;i4;i){for(int ji1;j4;j){if(arr[i]arr[j]){int temarr[i];arr[i]arr[j];arr[j]tem; //排序 }}} //必定arr[0]0 coutarr[1] arr[2] arr[3]endl;return 0;
}
17.爬虫
【问题描述】 一条虫子在n英寸深的井底每次一分钟爬行u英寸但是它在再次爬行前必须先休息1分钟, 在休息过程中它将滑落d英寸在反复向上爬行和休息后多长时间虫子能爬出这口井在此过程中分钟的小数部分向上取整如果攀爬结束时虫子正好到达井的顶部则视为虫子已经爬出。假定dun100当n0时输入结束。
【输入形式】 输入包括多个测试用例。每行包含3个正整数n、u、d为上面所提到的值。
【输出形式】 每个测试用例输入一行表示虫子爬出井的时间。
【样例输入】
10 2 1
20 3 1
0 0 0【样例输出】
17
19
// 爬虫
// 一条虫子在n英寸深的井底每次一分钟爬行u英寸但是它在再次爬行前必须先休息1分钟,
// 在休息过程中它将滑落d英寸在反复向上爬行和休息后多长时间虫子能爬出这口井
// 在此过程中分钟的小数部分向上取整如果攀爬结束时虫子正好到达井的顶部则视为虫子已经爬出。假定dun100当n0时输入结束。
#includeiostream
using namespace std;
int main()
{int n,u,d,t;while(true){cinnud;t0;if(n0){break;}while(n0){n-u; //爬行 t1;if(n0){ //刚好到顶 break;}nd; //滑落 t1; //休息 }couttendl;}return 0;
}
18.这个月有多少天
【问题描述】
输入年份和月份输出该月份的天数。 【输入形式】
输入一行两个整数分别为年份和月份。 【输出形式】
一个整数表示该月份的天数 【样例输入】
2018 3 【样例输出】
31
//这个月有多少天
//输入年份和月份输出该月份的天数。
#includeiostream
using namespace std;
int main()
{int year,month;cinyearmonth;int leap0; //闰年标记if((year%40 year%400!0) || year%1000){leap1; //判断闰年 } switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:cout31endl;break;case 4:case 6:case 9:case 11:cout30endl;break;case 2:cout28leapendl;break; //特殊情况 }return 0;
}