- 博客(26)
- 问答 (2)
- 收藏
- 关注
原创 C++复习(第六章--多态与虚函数)
派生类对象可以隐式地转换为基类对象,这是因为派生类继承了基类的属性和方法,所以可以将派生类对象视为基类对象使用。总之,基类对象和派生类对象之间的转换是有限制的,只允许将派生类对象转换为基类对象,而不允许将基类对象直接转换为派生类对象。在C++中,虚函数可以在函数声明时进行定义,但不可以在函数实现时进行定义。1.基类与派生类对象之间具有赋值兼容的关系,可以进行类型间的转换,派生类对象可以直接转换为基类对象,同样基类对象也可以直接转换为派生类对象。C.虚函数既可以在函数说明时定义,也可以在函数实现时定义。
2023-05-21 19:46:02
768
原创 ACM--(1)快速幂算法
目录问题算法设计代码实现算法实现问题:求a的b次方对c取余的值。其中a,b,c都是整数,且0<a,c<10的九次方,0<b<10的18次方。首先,我们最朴素的算法是用循环直接计算a的b次方的值,最后将其对c取模。代码如下:long long int sum,a,b,i,c;//其中a是底数,b是指数for(i=1;i<=b;i++){sum=sum*a;}sum%=c;显然这个算法有很多缺陷,比如循环从i=1到i=b,它的复杂度是
2022-05-02 21:24:43
375
原创 指针,结构体(错题题目集)
1.char s[ ] = "language", *p = s;while( *p++ != 'u') { printf("%c", *p – 'a' + 'A');}A.LANGUAGEB.ANGUC.LANGUD.LANG解释:p指向字符串首地址,while判断p指向的字符是否为'u',如果是'u'则循环结束,然后将字符转换为大写字符这里的一个关键问题是,while中* p++ != ‘u',是先判断 * p != 'u',然后p++,因此判断字符l!='u
2022-03-26 19:55:16
6120
4
原创 leetcode(最后一个单词的长度)
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = "Hello World"输出:5解释:最后一个单词是“World”,长度为5。示例 2:输入:s = " fly me to the moon "输出:4解释:最后一个单词是“moon”,长度为4。示例 3:输入:s = "luffy is still joyboy"输出:6解...
2022-03-04 22:01:19
7155
原创 删除排序数组中的重复项(双指针)
给定一个数组nums[10]={0,0,1,1,1,2,2,3,3,4};要求在原数组的基础上输出不重复的数字;当数组 nums 的长度大于 0 时,数组中至少包含一个元素,在删除重复元素之后也至少剩下一个元素,因此 \textit{nums}[0]nums[0] 保持原状即可,从下标 11 开始删除重复元素。定义两个指针 fast 和 slow 分别为快指针和慢指针,快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置,初始时两个指针都指向下标 1。假设数组 nums 的
2022-03-01 20:55:16
230
原创 用函数递归法求最大公约数
做这道题时用到了一个公式:GCD(a,b) = GCD(b,a%b)这个公式的结果是:gcd(b,0)=b;代码如下:#include <stdio.h>int Gcd(int a,int b){ if(a > b) { if(a % b == 0) { return b; } else { return Gcd(b,a%b); } } else { if(b % a == 0) { return a;.
2022-02-21 19:36:39
738
原创 05-03-04 转身加 (300 分)
任务描述做了A+B问题之后,某X同学感觉太简单了,于是他想让你求出两个数反转后相加的值。输入格式:有多组测试数据。每组包括两个数m和n,数据保证int范围,当m和n同时为0时表示输入结束。输出格式:输出每组测试数据反转后相加的结果,一个结果一行。样例">样例">输入样例:1234 1234125 1170 0输出样例:86421232提示: 问题分析:此题目主要考察如何将一个整数反转,方法是不断地从其尾部取1位,放在一个初始值为0的新
2022-02-18 00:24:51
558
原创 顺序结构-创新题4 打印成绩单 (300 分)
任务描述小白弟弟的成绩单曾经是他的骄傲,这次他考的也很好,他想打印一份格式工整的成绩单给妈妈,你编程实现一下吧。输入格式:一行中有四个成绩数据(实型数),分别代表C语言(C language)、高等数学(Higher Mathematics)、 线性代数(Linear Algebra)和大学英语(College English)的成绩,数据之间以一个空格分隔。输出格式:严格按样例格式输出成绩表。其中表格线由字符+、-和|构成,第2列成绩总宽度为10个字符,每个成绩与后面的竖线之间有2个空
2022-02-10 20:38:38
8184
1
原创 7-9 打印杨辉三角 (20 分)
本题要求按照规定格式打印前N行杨辉三角。输入格式:输入在一行中给出N(1≤N≤10)。输出格式:以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。输入样例:6输出样例: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1代码如下:#include<stdio.h>int main()...
2022-01-15 16:18:22
1652
原创 习题7-7 字符串替换 (15 分)
本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母 A Z B Y C X D W … … X C Y B Z A 输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。输入样例:Only the 11 CAPItaL LeTtERS are replaced.输出样例:Lnly t.
2022-01-15 14:58:07
259
原创 习题8-7 字符串排序 (20 分)
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:After sorted:每行一个字符串输入样例:red yellow blue black white输出样例:After sorted:blackblueredwhiteyellow代码如下:#include<stdio.h...
2022-01-15 14:50:20
2598
1
原创 习题9-4 查找书籍 (20 分)(简单方法)
习题9-4 查找书籍 (20 分)给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programming in C21.5Programming in VB1
2022-01-15 13:55:11
1145
1
原创 习题8-3 数组循环右移 (20 分)
习题8-3 数组循环右移 (20 分)本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(a0a1⋯an−1)变换为(an−m⋯an−1a0a1⋯an−m−1)(最后m个数循环移至最前面的m个位置)。函数接口定义:void ArrayShift( int a[], int n, int m );其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函数ArrayShift须将循环
2022-01-04 11:37:12
1284
原创 习题6-8 统计一行文本的单词个数 (15 分)
习题6-8 统计一行文本的单词个数 (15 分)本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let's go to room 209.输出样例:5代码:#include<stdio.h>int main(void){ char ch; int count=0,F=1; ch = ...
2021-12-31 11:49:40
578
原创 练习7-8 方阵循环右移 (20 分)
练习7-8 方阵循环右移 (20 分)本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。输入格式:输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。输出格式:按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。输入样例:2 31 2 34 5 67 8 9输出样例: 2 3 1..
2021-12-31 11:21:49
1151
原创 习题4-11 兔子繁衍问题 (15 分)
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N最少需要的月数。输入样例:30输出样例: 9代码:#include<stdio.h>int main(){ int n,i=2,last=1,now=1,temp; .
2021-12-30 11:45:12
138
原创 习题4-10 猴子吃桃问题 (15 分)
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入在一行中给出正整数N(1<N≤10)。输出格式:在一行中输出第一天共摘了多少个桃子。输入样例:3输出样例: 10代码:#include<stdio.h>int main(){ int n,i...
2021-12-30 11:40:55
122
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人