自考 04737 C++程序设计
自考 04737 C++程序设计 个人整理的一些笔记
Big Fish 大鱼
勤学如春起之苗,不见其增,日有所长;辍学如磨刀之石,不见其损,日有所减。
展开
-
7-36 复数四则运算 (四舍五入)
本题要求编写程序,计算2个复数的和、差、积、商。输入格式:输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。输出格式:分别在4行中按照(a1+b1i) 运算符 (a2+b2i) = 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0。输入样例1:2 3.08 -2.04 5.06输出样例1:(2.0+3.1i)转载 2022-02-17 23:10:49 · 395 阅读 · 0 评论 -
7-33 有理数加法
本题要求编写程序,计算两个有理数的和。输入格式:输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。输入样例1:1/3 1/6输出样例1:1/2输入样例2:4/3 2/3输出样例2:2#include <stdio.h>int main(){ int a原创 2022-02-17 12:51:40 · 209 阅读 · 0 评论 -
7-31 字符串循环左移 (char型数组有\0)
输入一个字符串和一个非负整数N,要求将字符串循环左移N次。输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。输出格式:在一行中输出循环左移N次后的字符串。输入样例:Hello World!2输出样例:llo World!He#include<stdio.h>#include<string.h>int main(){ char a[101];//字符串长度不超过100 int原创 2022-02-16 16:42:37 · 134 阅读 · 0 评论 -
7-29 删除字符串中的子串 (非KMP)
7-29 删除字符串中的子串原创 2022-02-16 11:43:19 · 155 阅读 · 0 评论 -
7-27 冒泡法排序 (第K次)
将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔。输出格式:在一行中输出冒泡排序法原创 2022-02-16 10:31:24 · 991 阅读 · 0 评论 -
7-26 单词长度 (循环中的输入输出)
你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it’s算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf("%c",…);来读入一个字符,直到读到.为止。输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。输入样例:It’s great to see you here.输出样转载 2022-02-15 23:12:06 · 256 阅读 · 0 评论 -
7-25 念数字 (循环套switch)
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。输入样例:-600结尾无空行输出样例:fu liu转载 2022-02-15 11:02:10 · 556 阅读 · 0 评论 -
7-24 约分最简分式 (辗转相除法)
分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。提示:对于C语言,在scanf的格式字符串中加入/,原创 2022-02-14 22:46:40 · 663 阅读 · 0 评论 -
7-28猴子选大王 (约瑟夫问题)
题目:一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选猴王的编号。输入样例:11输入样例:7#include<stdio.h>int main(){ in转载 2022-02-14 22:41:52 · 421 阅读 · 0 评论 -
7-23 币值转换 (利用数组转换)
输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。输入格式:输入在一行中给出一个不超过9位的非负整数。输出格式:在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。输入样例1:813227345输出样例1:iYbQ转载 2022-02-14 16:37:42 · 918 阅读 · 5 评论 -
7-22 龟兔赛跑 (结果导向)
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?输入格式:输入在一行中给出比赛时间T(分钟)。输出格式:在一行中输出比赛的结果:乌龟赢输出@_@,兔子赢输出^_^,平局则输出-_-;后跟原创 2022-02-14 11:23:22 · 133 阅读 · 0 评论 -
7-20 打印九九口诀表 (格式输出)
下面是一个完整的下三角九九口诀表:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 ...转载 2022-02-13 23:20:49 · 540 阅读 · 0 评论 -
7-19 支票面额(解二元一次方程)
一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?输入格式:输入在一行中给出小于100的正整数n。输出格式:在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution。样例1:">输入样例1:23输出样例1:25.51输入样例2:22输出样例2:No Solution暴力破解:#include<stdi.原创 2022-02-13 23:11:02 · 455 阅读 · 0 评论 -
7-17 爬动的蠕虫 (break练习)
一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。输入格式:输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。输出格式:在一行中输出蠕虫爬出井的时间,以分钟为单位。..原创 2022-02-13 16:46:10 · 144 阅读 · 0 评论 -
7-16 求符合给定条件的整数集
给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。输入格式:输入在一行中给出A。输出格式:输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。输入样例:2输出样例:234 235 243 245 253 254324 325 342 345 352 354423 425 432 435 452 453523 524 532 534 542 543不用数组#include &.原创 2022-02-13 16:30:26 · 953 阅读 · 0 评论 -
7-15 计算圆周率
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。输入格式:输入在一行中给出小于1的阈值。输出格式:在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。输入样例:0.01输出样例:3.132157代码思路:#include <stdio.h>int main(){ double PI=1; double t; double num=1.0; int i=1; scanf("%lf",&t)原创 2022-02-13 15:41:03 · 429 阅读 · 0 评论 -
7-14 求整数段和 (C语言)
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。输入格式:输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。输出格式:首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。输入样例:-3 8输出样例: -3 -2 -1 0 1 2 3 4 5 6 7 8Sum = 30PS: ...原创 2022-02-13 09:49:32 · 2088 阅读 · 0 评论 -
7-6 混合类型数据格式化输入
本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。输入格式:输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。输出格式:在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。输入样例:2.12 88 c 4.7输出样例:c 88 2.12 4.70c 语言代码如下:#include<stdio.h>int main(){undefined .原创 2022-02-12 09:55:35 · 2121 阅读 · 0 评论 -
7-4 BCD解密 (10分)
BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。这里先解释下什么是BCD数:十进制的15 BIN表示为1111(BIN其实就是指二进制数据,逢2就向前写个1,把原本位上变成零,一...原创 2022-02-11 11:45:08 · 306 阅读 · 0 评论 -
c语言,%d %.2d %2d %02d的区别
%d就是普通的输出了%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格%02d,和%2d差不多,只不过左边补0%.2d没见过,但从执行效果来看,和%02d一样转载自:c语言,%d %.2d %2d %02d的区别_zhaohuappc的专栏-CSDN博客_c语言%02d...转载 2022-02-10 16:24:51 · 274 阅读 · 0 评论 -
自考 C++ 杂记 —— 多态性及虚函数
1.多态性静态联编:编译时的多态性,函数重载实现动态联编:运行时的多态性,虚函数实现2.虚函数的定义只能是一个成员函数,不能是静态成员,用virtual关键字声明。一旦基类定义了虚函数,该基类的派生类中的同名函数(返回值、参数列表与基类中的同名虚函数完全一致)那么也自动成为虚函数。虚函数的调用规则是:根据当前对象,优先调用对象本身的虚成员函数。3.虚函数实现多态性的条件...原创 2020-04-21 21:11:39 · 269 阅读 · 0 评论 -
自考 C++ 杂记 ——继承和派生
目录一、单一继承1.定义派生类构造函数的形式:2.当定义一个派生类对象时:二、派生类的访问权限1. 类的继承访问特性三、二义性及其支配规则1.消除二义性:2.友元与派生类四、继承和派生的典型问题五、历年真题一、单一继承1.定义派生类构造函数的形式:类外:派生类名::派生类名(参数表0):基类名(参数表){……}类内:派生类名(参数表0):基类...原创 2020-04-21 21:12:38 · 178 阅读 · 0 评论 -
自考 C++ 杂记 ——类和对象
一、类及其实例化1.关键字private、protected、public的访问权限2.类的对象使用规律:1)成员函数直接使用自己类的私有成员2)类外面的函数不能直接访问类的私有成员3)类外面的函数只能通过类的对象使用该类的公有成员函数4)对象A和B代码一样 ,但属性值不一样二、构造函数、析构函数1.构造函数的作用、定义及使用方法1)特殊的成员函数,它与类名同名...原创 2020-04-21 21:11:21 · 615 阅读 · 0 评论 -
自考 C++ 杂记 ——运算符重载及流类库
http://c.biancheng.net/view/2306.html一、运算符重载(2018版P184)运算符重载其实就是函数重载。运算符重载的格式为:返回值类型 operator 运算符名称 (形参表列){ //TODO:}运算符重载函数除了函数名有特定的格式,其它地方和普通函数并没有区别。1.两种重载方式:类运算符:将运算符重载这个类的成员函...原创 2020-04-21 21:11:04 · 621 阅读 · 0 评论 -
自考 C++ 杂记 —— 函数和函数模板
函数和函数模板目录函数和函数模板一、函数的参数及其传递方式1.C++的函数参数有两种传递方式:2.函数参数的三种类型:二、默认参数以及使用const保护数据三、函数返回值的4种情况3.1返回引用的函数3.2返回指针的函数3.3返回对象的函数3.4函数返回值作为函数的参数四、内联函数五、函数重载和默认参数六、函数模板6.1函数模板的声明和定...原创 2020-04-21 21:13:04 · 563 阅读 · 0 评论 -
自考 C++ 杂记 —— 友元函数
友元函数自考教材中的简单介绍(2008版教材P109)友元函数可以存取私有成员、公有成员和保护成员。友元函数可以是一个类或者函数,尚未定义的类也可以作为友元引用。(2008版教材P112)友元关系是不传递的,即当说明类A是类B的友元,类B又是类C的友元时,类A却不是类C的友元。这种友元关系也不具有交换性,即当说明类A是类B的友元时,类B不一定是类A的友元。目录友元函数1.友...原创 2020-04-21 21:10:32 · 790 阅读 · 1 评论 -
自考 C++ 杂记 —— 动态分配内存与构造析构、类与对象、类的继承和派生、
动态分配内存1.若有定义int *p=new int(0),则下列说法正确的是( )。D.通过运算符new,分配一个整型数据的存储空间,并将其内存地址赋予指针变量int *p=new int(0)的含义是通过运算符new,分配一个整型数据的存储空间,并将其内存地址赋予指针变量p。2.以下有关构造函数的叙述中,错误的是( )。C.在一个类中构造函数有且仅有一个构造...原创 2020-04-21 21:09:43 · 448 阅读 · 0 评论 -
自考 C++ 杂记 —— 类模板与向量
目录一、类模板1.1 模板类基础语法1.2 模板类的派生与继承(仅介绍模板类继承非模板类和从模板类派生一个类模板的情况)二、向量与泛型算法1.定义向量列表2.泛型指针3.向量最基本的操作方法历年真题:一、类模板1.1 模板类基础语法声明类模板template <typename T> 或者template <cla...原创 2020-04-21 21:10:05 · 345 阅读 · 0 评论 -
自考 C++ 杂记 —— 纯虚函数与抽象类、输入输出对象、C++的头文件、函数原型
一、纯虚函数与抽象类1.下列关于纯虚函数与抽象类的描述中,错误的是( )。C.一个基类的说明中有纯虚函数,该基类的派生类一定不再是抽象类抽象类派生的类必须提供纯虚函数的实现代码,或在该派生类中仍将它说明为纯虚函数,否则将出错。此时说明了纯虚函数的派生类仍是抽象类。如果派生类中实现了基类所有纯虚函数,则该派生类将不再是抽象类。2.如果A是抽象类,刚下面正确的是( )。...原创 2020-04-21 21:13:23 · 732 阅读 · 0 评论