C++练习
壹玖二一
少年负壮气,奋烈自有时。
展开
-
C++:对手匹配
问题:【问题描述】两个乒乓球队进行比赛,各出三人。甲队为A,B,C三人,乙队为X,Y,Z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X,Z比,请编程找出三对赛手间的对阵情况。【输入形式】无【输出形式】标准输出,三对赛手对阵对阵情况,每对内部用“--”隔开,每对间使用空格隔开。【样例输入】【样例输出】A--Z B--X C--Y代码:#include<iostream>using namespace std;int main...原创 2022-02-22 08:33:34 · 3494 阅读 · 0 评论 -
C++:猴子吃桃
问题:猴子吃桃问题。猴子第1天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第2天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第n天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?【输入形式】标准输入,剩下一个桃子的天数n。【输出形式】标准输出,第一天共摘的桃子个数。【样例输入】10【样例输出】1534代码:#include<iostream>using namespace std;int main() {原创 2022-02-10 17:29:04 · 3259 阅读 · 0 评论 -
C++:求数字i以后的n个素数
问题:编写具有如下原型的函数:void find(int i, int n); 实现从 i 开始找起,连续找出 n 个素数并显示在屏幕上。如:实参为10 和 8 后,输出的 8 个素数应为:11,13,17,19,23,29,31,37。代码: #include<iostream>#include<cmath>using namespace std;void find(int i, int n); int main() { //i为起始数字,n为素数的个原创 2022-01-28 21:29:26 · 1568 阅读 · 0 评论 -
C++:求区间内因子和最大的数
问题:输入正整数start和end,找出从start到end这一区间段内哪一个数n的因子和最大,并将该n及其因子和maxSum作为结果输出。例如,当start=10,end=15时,所求的n应该为12,而maxSum应该为16。代码:运行结果:...原创 2022-01-28 19:42:21 · 2014 阅读 · 0 评论 -
C++:判断数字是否仅由偶数组成
问题:编写具有如下原型的函数:bool f(long x);其功能为:若整数 x 仅由偶数字(0、2、4、6、8)组成时(如 x=26480),函数返回 true,否则返回 false(如当 x=22034 时)。并编制主函数对它进行调用。代码:运行结果:...原创 2022-01-28 18:17:23 · 1519 阅读 · 0 评论 -
C++:数组的平均值、大于平均值的数、去除重复数据
问题:编程序,实现如下功能:(1)定义两个一维数组x,y,不超过50个元素。(2)从键盘输入k个整数到数组x中。(3)计算x中数据的平均值ave及大于平均值的元素个数n并输出。(4)将数组x中数据复制到数组y中,重复的数据只存储一次,最后输出y中的数据。代码:...原创 2022-01-23 06:00:00 · 3689 阅读 · 0 评论 -
C++:求“回文数”
问题:编写具有如下原型的函数symm:bool symm(long n); 用来判断正整数n是否为“回文数”(正读与反读为大小相同的数),若是返回true,否则返false。并编写主函数,通过调用symm,求出n以内所有满足下述特征的m:m和7*m以及3*m*m都是“回文数”,如1,11,88,…(因为m=1,7*m=7,3*m*m=3;m=11,7*m=77,3*m*m=363;m=88,7*m=616,3*m*m=23232;…)。代码:...原创 2022-01-27 21:33:55 · 3926 阅读 · 1 评论 -
C++:单词数量、长度统计
问题:在进行文章重复度检查时,经常需要统计一段英文中的单词数量,并找出长度最长的单词。设有如下定义:char str[500];编写程序,通过利用cin.getline(str,500);实现从键盘输入一小段英文(其中可以包含空格,但在同一行),利用函数统计该段英文中包含几个单词,输出统计出的单词数量、最长单词的长度以及长度最长的单词,空格隔开。注意:函数声明使用void split(char *str);如果有最长的单词不只一个,输出最先找到的那个。代码:...原创 2022-01-22 21:00:17 · 2519 阅读 · 0 评论 -
C++:两个数组求最值、排序、合并
问题:对于整型数组a[10]和b[10],编制程序完成下列任务:(1)由用户从键盘为两个数组输入值;(2)求出两个数组的最大值和最小值;(3)把数组a和b中的整数分别从小到大和从大到小排序;(4)把两个有序的数组a和b组成一个长度为20的有序数组c[20],使数组c的顺序为从小到大。代码:#include<iostream>#include<algorithm>using namespace std;void input(int*m);voi原创 2022-01-17 23:27:50 · 1775 阅读 · 0 评论 -
C++:时间日期类,增加若干秒
问题:自定义一个日期时间类DateTimeType,它含有类DateType与类TimeType的类对象作为其数据成员,并具有所列的其他几个成员函数。而后编制主函数,说明DateTimeType的类对象,并对其成员函数以及二对象成员所属类的公有成员函数进行使用。class DateTimeType { //自定义的日期时间类 DateTimeTypeDateType date; //类 DateType 的类对象 date 作为其数据成员TimeType time; //类 TimeTy.原创 2022-01-17 21:53:57 · 969 阅读 · 0 评论 -
C++:计算选手最终得分
问题:编写一程序统计参赛选手的得分,计分标准为去掉一个最高分和一个最低分后,对剩余得分求平均值。要求首先从键盘输入评委的个数num,然后输入num个分数(分数为小于等于10的一个正实数),输出最终得分。代码:#include<iostream>#include<algorithm>using namespace std;int main(){ //num为评委人数,sum为去掉一个最高分和一个最低分后评委的总分数 int num,sum; cin&.原创 2022-01-15 16:42:50 · 2676 阅读 · 0 评论 -
C++:求n以内被3除余余1的所有整数
问题:求n以内被3除余1且个位数为6的所有整数(如16、46、...、286等)并显示在屏幕上。【输入形式】 输入某个数【输出形式】 输出所有结果,空格隔开【样例输入】 300【样例输出】 16 46 76 106 136 166 196 226 256 286代码:#include<iostream>using namespace std;int main(){ int n,nu...原创 2022-01-15 15:04:21 · 1087 阅读 · 0 评论 -
C++:成绩类Score
问题:定义学生成绩类Score,其私有数据成员有学号、姓名、物理、数学、外语、平均成绩。补全Score类及主函数,使得程序能在一行中一次输出该生的学号、姓名、物理、数学、外语、平均成绩。【输入形式】学生的学号、姓名、物理成绩、数学成绩、外语成绩。【输出形式】除了输入的所有基本信息,还应包括计算的平均成绩。【样例输入】 081531 WangXiaoming 100 82 99【样例输出】 081531 WangXiaoming 100 82 99 93...原创 2022-01-14 21:30:25 · 3840 阅读 · 0 评论 -
C++:字符串插入
问题:从键盘输入一个字符串,并在串中的第一次出现的最大元素后边插入字符串”ab”。从键盘输入一个字符串,并在串中的第一次出现的最大元素后边插入字符串”ab”。【输入形式】任意输入一个字符串【输出形式】在串中的最大元素后边插入字符串”ab”【样例输入】123csCUMT【样例输出】123csabCUMT代码:#include<iostream>#include<cstring>using namespace std;int main(){原创 2022-01-14 20:18:59 · 3865 阅读 · 0 评论 -
C++:求五位学生的总成绩以及平均成绩
问题:定义数组存储5位学生的姓名和4科考试的成绩,计算并输出每个学生的总成绩和平均成绩,找出平均成绩最高的学生姓名。代码:#include<iostream>#include<iomanip>using namespace std;int main(){ string name[5]; float score[5][4]={0},total_score[5],max_score=0; int temp; for(int i=0;i<5;i++)原创 2022-01-14 00:16:50 · 6289 阅读 · 0 评论 -
C++:数字字符的出现次数
问题:输入字符串s,编程统计出s中共出现了多少个数字字符。进一步考虑,如何统计出10个数字字符各自出现的次数。【输入形式】 输入带数字字符的字符串【输出形式】 两行: 1)输出字符串中数字字符的总个数;2)一次逐行输出从数字字符‘0’到数字字符‘9’的个数【样例输入】 abcdefk12345【样例输出】 Number's amount is:5 '0...9' amount is:0 1...原创 2021-12-23 00:18:55 · 4036 阅读 · 6 评论 -
C++:单词分割
问题:利用cin.getline()函数从键盘录入一句英文,其中每个单词之间用一个空格隔开,最后用'.'结束。统计该句话中单词的个数,并依次输出每个单词。输出个数后换行,输出每个单词后也换行。注意:在本平台下,cin.getline()函数的使用方式如下: char s[100]; cin.getline(s,100); //最多存储99个字符代码:#include<iostream>using namespace st...原创 2021-12-21 21:47:25 · 1772 阅读 · 0 评论 -
C++:输出鞍点
问题:找出一个二维数组(以三行四列的数组为例)中的鞍点,即该位置上的元素在该行上值最大,在该列上值最小(也可能没有鞍点)输入形式:标准输入:二维数组(以三行四列的数组为例)输出形式:标准输出:如果有鞍点,输出鞍点的值及所在行列(例如[1][2]=96is Saddle Point),如果没有,输出没有鞍点(例如 No Saddle Point)代码:#include<iostream>using namespace std;int ...原创 2021-12-01 11:01:12 · 1907 阅读 · 0 评论 -
C++:求区间内最大的因子和
问题:输入正整数start和end,找出从start到end这一区间段内哪一个数n的因子和最大,并将该n及其因子和maxSum作为结果输出。输入:当start=10,end=15时输出:所求的n应该为12,而maxSum应该为16。代码:#include<iostream>using namespace std;int main(){ int start,end,maxsum=0; cin>>start>>end; int i = st原创 2021-12-01 12:08:03 · 1115 阅读 · 0 评论 -
C++(Leetcode):两数之和
问题:给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1](注:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] )示例2: 输...原创 2021-11-23 18:47:18 · 895 阅读 · 0 评论 -
C++:求第k小的数
问题:给定n(1<=n<=1000000)个元素,求第k小数(1<=k<=n)。输入:一组样例。第一行输入两个整数n和k。第二行输入n个不同的int范围内的数。输出:输出一行,输出第k小数。样例输入:5 21 5 3 2 4样例输出:2代码:#include<iostream>#include<algorithm>using namespace std;int main(){ int num,k; cin&g原创 2021-11-09 21:43:56 · 2553 阅读 · 0 评论 -
C++:青蛙跳台阶
问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。测试样例包含一个整数n。(1<=n<=67)测试样例1:3输出结果1:3测试样例2:7输出结果2:21代码:#include<iostream>using namespace std;int step(int digit);int main(){ int digit; //台阶数 cin>>...原创 2021-11-09 16:22:48 · 1260 阅读 · 0 评论 -
C++:亲密数
【问题描述】求数n之内的亲密对数。所谓“亲密对数”,即A的所有因子(包含1但不包含其本身)之和等于B,而B的所有因子之和等于A。【输入形式】某个数字n。【输出形式】 此数字n之内的亲密对数。【样例输入】 400【样例输出】 220 284代码:#include<iostream>using namespace std;int main(){ int n; ...原创 2021-08-16 16:39:22 · 5423 阅读 · 3 评论 -
C++:十进制转八进制
设计一个函数toOcr(int n),实现把输入的一个十进制数转换为八进制数1、运用数组#include<iostream>using namespace std;int toOcr(int n); //调用函数int main(){ int num; cin>>num; toOcr(num); return 0;} int toOcr(int n){ int a[50],count=0; //count记录八进制数的位数,存储在数组.原创 2021-08-16 16:13:21 · 12289 阅读 · 3 评论 -
C++:数字逆向输出
【问题描述】输入一个int型的整数num,逆向输出其各位数字,同时求出其位数以及各位数字之和。【输入形式】输入流(标准)输入,输入一个整数。【输出形式】输出流(标准)输出。结果为三行,第一行为逆向数字,第二行为各位数字之和,第三行为数字位数。【样例输入】1000【样例输出】000114代码:#include<iostream>using name...原创 2021-08-16 11:56:55 · 9979 阅读 · 2 评论 -
C++:买鸡问题
C++:买鸡问题【问题描述】n元买100只鸡,大鸡5元每只,小鸡3元每只,还有1/3元每只的小鸡,分别记为x只,y只,z只,求所有解【输入形式】标准输入,总钱数n【输出形式】标准输出,输出x y z 的值,按照x,y,z依次增大顺序输出。【样例输入】100【样例输出】 x=0,y=25,z=75 x=4,y=18,z=78 x=8,y=11,z=81 x=12,y=4,z=84代码:#incl...原创 2021-08-15 14:01:38 · 2299 阅读 · 0 评论