- 博客(44)
- 收藏
- 关注
原创 过河问题!
2、前两个人先过,由第一个人回来送手电,让第3,4个人一起过桥(减少拖累),再由第二个人回来接第一个人,总时间为:time[0]+time[n-1]+time[1]*2。n人一个手电(n>=1),每次至多有两人过桥,每个人过桥时间不都相同,两人过桥时的时间按照过桥时间较长的一方计算,设计程序使过桥消耗时间最少。2、n>3 将问题化为最简处理(递归处理),即4个人的情况,由题意可得,每次来回后只能送过去一人,因此不妨从大的开始送(时间短的送时间长的)
2024-01-02 19:14:58
621
原创 7-54 实验10_6&7_动态分配内存_1&2
7-54 实验10_6_动态分配内存_1已知正整数n,你要利用malloc函数动态开辟一个长度为n的整型数组,然后读取n个整数存入该数组中。再将这n个整数全部改为其相反数(例如10的相反数是-10,-10的相反数是10)的10倍,然后将其输出。最后你要利用free函数将该动态数组所占用的空间释放。
2023-12-15 19:42:36
171
原创 7-56 实验10_9_指针数组进阶
已知正整数n,n的范围是1—100。你要从键盘读入n个字符串,每个字符串的长度不确定,但是n个字符串的总长度不超过100000。你要利用字符指针数组将这n个字符串按照ASCII码顺序进行升序排序,然后再打印到屏幕上。字符串中可能包含ASCII码中的任意字符,每个字符串以换行符结束输入。要求:不允许定义如char str[100][100000];这样的二维数组,因为会极大的浪费内存空间。你应定义char str[100000];
2023-12-15 19:42:23
729
原创 7-57 实验10_10_动态数组进阶
已知正整数n,n的范围不确定。从键盘读入n个字符串,每个字符串的长度小于1000,要保存到动态数组中。为了能访问到所有的字符串,需要建立一个长度为n的动态指针数组,用于保存n个字符数组的内存地址。在读入每个字符串时,用一个长度为1000的字符数组作为缓冲数组,将字符串读入并求出长度后,再动态分配空间,将缓冲数组中的字符串复制到新分配的动态空间中,并将动态空间的首地址保存到指针数组中。读完n个字符串后你要将这n个字符串按照ASCII码顺序升序排序,然后再打印到屏幕上。
2023-12-15 19:42:08
157
原创 7-58 实验11_1_初识结构
学生的属性包括姓名、学号、5门课程的成绩、平均成绩与总成绩。已知一个学生的姓名、学号与5门课程的成绩,你的任务是计算该学生的平均成绩与总成绩,并将该学生的5门课程成绩按照从高到底进行排序,最后将这个同学的完整信息输出。学生的姓名中只能包含大小写字母与空格字符,不会超过20个字符;学生的学号是个长度不会超过20的字符串,只包含数字字符;课程成绩均为0—100的整数。要求:1.在本题中,你要设计一个结构来存储学生的信息。在此结构中,需要有一个字符数组来存储姓名;一个字符数组来存储学号;
2023-12-15 19:41:57
451
原创 7-59 实验11_2_初识结构数组
有n名学生,每个学生的信息包括姓名、学号、5门课程的成绩,平均成绩与总成绩。已知学生的姓名、学号与5门课程的成绩,你的任务是计算每个学生的平均成绩与总成绩,并将它们输出。学生的姓名中只能包含大小写字母与空格字符,不会超过20个字符;学生的学号是个长度不会超过20的字符串,只包含数字字符;课程成绩均为0—100的整数。要求:在本题中,你要设计一个结构来存储一个学生的信息。在此结构中,需要有一个字符数组来存储姓名;一个字符数组来存储学号;一个长度为5的整型数组来存储5门课程的成绩;
2023-12-15 19:41:42
334
原创 7-60 实验11_3_结构排序
有n名学生,每个学生的属性包括姓名与总成绩。已知学生的姓名与总成绩,你的任务是将学生的信息按照以下方式排序:首先比较总成绩,总成绩高的在前面,总成绩低的在后面,当总成绩相同时,你要比较学生的姓名,姓名字典序小的同学在前面,姓名字典序大的同学在后面(ASCII码顺序)。n的范围是1—100;学生的姓名中只能包含大小写字母,不会超过20个字符;总成绩为整数。要求:在本题中,你要设计一个结构来存储学生的信息。在此结构中,需要有一个字符数组来存储姓名,一个整型变量存储总成绩。
2023-12-15 19:41:30
299
原创 7-63 实验4_8_斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。它指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368……..这个数列从第3项开始,每一项都等于前两项之和。
2023-12-15 19:41:12
464
原创 7-64 实验4_12_遍历搜寻
已知整数a、b、c。你的任务是求出区间[a,b]内的整数,满足该数与“该数的所有因数(不包括本身但包括1,1的因数和按0处理)相加之和”的差的绝对值小于等于c的数字。例如27的因数是1、3、9。那么27与27的所有因数和的差为:27-(1+3+9)=14。
2023-12-15 19:41:00
379
原创 6-7 实验5_11_设计函数isPerfect与printPerfect
其中n是用户传入的参数。函数没有返回值。其中n是用户传入的参数。如果n是完全数,则函数须返回1,否则返回0。
2023-12-15 19:40:23
118
原创 6-27 实验9_7_设计函数int getVowel(char str[],char vowel[])
设计函数int getVowel(char str[],char vowel[]),将只包含小写字母的字符串str中的元音字母“a”“e”“i”“o”“u”复制到字符数组vowel,并返回字符串vowel的长度。
2023-12-15 19:40:11
191
原创 6-30 实验10_3_动态内存分配函数_2
其中n是用户传入的参数,代表字符型指针动态一维数组的长度。函数须返回动态数组第一个元素的地址。其中strPtr和n都是用户传入的参数,strPtr为指向字符型指针动态一维数组的指针;n代表字符型指针动态一维数组的长度。函数没有返回值。其中strPtr和n都是用户传入的参数,strPtr为指向字符型指针动态一维数组的指针;n要填充的字符的阶数,n阶时要填充2*n+1行,具体格式见样例。函数没有返回值。
2023-12-15 19:39:59
344
原创 6-31 实验10_4_设计函数 locatesubstr
其中str1和str2都是用户传入的参数,其含义如题面所述。若查找成功则返回指向该位置的指针,若失败则返回空指针。gets(str1);gets(str2);\n");return 0;/* 请在这里填写答案 */
2023-12-15 19:39:30
169
原创 6-32 实验10_5_指针数组初步
其中source和strPtr都是用户传入的参数。source为待处理字符串;strPtr是保存各个单词开始位置的指针数组。函数返回值为单词的个数。gets(str);for( i = 0;i < num;/* 请在这里填写答案 */
2023-12-13 00:09:34
223
原创 6-33 实验10_8_设计函数 void delcharfun(char *str,char ch)
其中str和ch都是用户传入的参数。str为指向待删除数组的指针;ch指定字符。函数没有返回值。
2023-12-13 00:08:28
326
原创 6-37 实验10_11_字符串排序(指针数组)
3、设计函数void sort( char** strArray , int size );,该函数可将字符指针数组strArray所指向的所有字符串按从小到大排列。1、设计函数char ** create1( int n );,根据整数n创建一个长度为n的字符指针型动态一维数组,并返回动态数组第一个元素的地址。2、设计函数char * create2( int n );,根据整数n创建一个长度为n的字符型动态一维数组,并返回动态数组第一个元素的地址。
2023-12-13 00:08:15
272
原创 7-49 实验8_7_蛇形矩阵
蛇形矩阵是一个n*n的矩阵,将整数1到n*n按照蛇形的顺序装入一个 n*n 的蛇形矩阵中,如样例所示分别为5阶和10阶蛇形矩阵。
2023-12-13 00:08:02
135
原创 实验11_4_综合成绩排名
本题中大家只需实现下边这一个函数,另外两个函数不需实现,函数接口如下: void Swap(STUDENT * s1,STUDENT * s2);
2023-12-13 00:07:37
107
原创 6-39 实验5_13_设计函数numConvert
设计函数int numConvert(int number,int n,int m),用于将n进制的数number转化为m进制的数并返回,其中2<=n<=10,2<=m<=10。例如将二进制数110转化为三进制时,即调用numConvert(110,2, 3),函数返回值为20。输入三个正整数number、n和m,三个整数的意义如题目叙述。测试用例保证输入及返回值都在int型变量范围内。
2023-12-13 00:06:36
220
原创 6-11 实验6_4_二进制转十进制&6-12 实验6_5_二进制的位数
6-11 实验6_4_二进制转十进制。6-12 实验6_5_二进制的位数。
2023-12-13 00:05:25
154
1
原创 一些数学题
双方各有一些代表石头、剪刀、布的卡牌,每局两人各出一张卡牌,根据卡牌的内容决定这一局的胜负。有n个地方,编号为1->n,任意两个地方有公交车,从i到j的票价为(i+j)mod(n+1),而且这个票可以用无限次,你要把这些地方全部走一遍,问最小花费为多少。现在牛可乐获得了这三位EVA驾驶员的战斗力之积,在保证三位驾驶员战斗力均为正实数的情况下,请你帮助牛可乐计算这三位驾驶员的战斗力之和最低是多少?p^k=n,令t=p+k则 t=[n^(1/k)]+k。从头到最后,余数为0,再到第二个,余数为1。
2023-12-13 00:05:02
185
1
原创 吃巧克力(贪心)
来源:牛客网自从ZZZZone吃完糖果后,他开始改吃巧克力了,他每天想吃n个巧克力增在甜蜜值,他决定早上吃K个巧克力,晚上吃n - K个巧克力,每个巧克力在早上吃和在晚上吃的甜蜜值是不一样的,他想让自己得到的甜蜜值最大,并想知道最大是多少。请你编程帮助他。
2023-12-13 00:04:32
144
1
原创 C++字符串
来源:牛客网设有n个正整数(n ≤ 20),将它们联接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613。
2023-12-13 00:04:09
133
1
原创 7-48 实验8_6_矩阵变换
任意给定一个n*n的矩阵,矩阵的行数与列数均为n。你的任务是通过行变换,使得矩阵每行元素的平均值按递增顺序排列。如果出现有的行平均值相同的情况,则按照原顺序输出。
2023-12-12 15:02:44
86
原创 7-47 实验8_5_寻找鞍点
任意给定一个n*m的矩阵,矩阵的行数为n,列数为m。你的任务是寻找该矩阵的鞍点。一个矩阵的鞍点即该位置上的元素在所在行上最大,在所在列上最小。有的矩阵也可能没有鞍点。不难证明,如果一个矩阵有鞍点,那么这个鞍点一定是唯一的。如果某个矩阵只有1行(1列),则默认该行上的所有元素满足列上最小(行上最大)的要求。该矩阵的鞍点为M[0][4]=5,该数在第0行最大,在第4列最小。
2023-12-12 15:01:26
124
原创 7-45 实验8_2_推销员的便条
某公司有四个销售员(代号1—4),负责销售五种产品(代号1—5)。每个销售员都把当天售出的每种产品各写一张便条交上来。每张便条包含销售员的代号、产品的代号、这种产品的销售额。我们搜集到了每个月的所有便条,你的任务是根据这些便条,计算出每人、每种产品的总销售额。处理完销售信息后,以表格形式打印出结果。用列代表销售员,行代表产品。每种产品的销售总额输出到该行的最右边,每个销售员的销售总额输出到该列的最下边。
2023-12-12 14:59:42
110
原创 7-42 实验7_7_连续子序列
已知两个由正整数组成的无序序列A、B,每个序列的元素个数未知,但至少有一个元素。你的任务是判断序列B是否是序列A的连续子序列。假设B是“1 9 2 4 18”,A是“33 64 1 9 2 4 18 7”,B是A的连续子序列;假设B是“1 9 2 4 18”,A是“33 1 9 64 2 4 18 7”,B不是A的连续子序列。
2023-12-12 14:58:07
117
原创 7-40 实验7_5_发工资
每到月底,公司就要给员工发工资。每个员工的工资都是由(100,50,20,10,5,2,1) 7种面值的钞票组成的。为了发工资的简便,公司会尽量给员工发较大面值的钞票,例如某个员工的工资为1260,那么公司会给员工12张100元的、1张50元的、1张10的钞票。你的任务是,告诉你某员工的工资,你来计算如何给员工发工资。
2023-12-12 14:56:50
94
原创 7-35 实验4_5_求幂值
编写一个程序,用下面的公式计算ex的值。ex=1+1!x+2!x2+3!x3+...1)对于项n!xn ,随着n的增大,|n!xn|会渐渐趋向于0。因此可以假设当项 |n!xn|<1e-8时,循环终止。1e-8即为10的-8次方。2)如何求x的绝对值:使用库函数fabs(x),其中x是浮点数,返回结果也是浮点数。如判断|f|是否接近于0可以这么写:if(fabs(f)<1e-8)。3)如何检验运行结果是否正确:标准库函数exp(x)用来求e的x次幂,其中x是浮点数,返回值也是浮点数。
2023-12-12 14:55:59
149
原创 7-34 实验4_4_进制转换一
已知一个只包含0和1的二进制数,二进制数的长度不大于10。你的任务是将其转换为十进制数并打印出来。提示:用除法和求余运算每次从右到左获取二进制整数的各位数字。在十进制数值系统中,最右边的数字是个位,个位的左边依次是十位、百位、千位等等。与之类似,在二进制数值系统中,最右边的数字是1位,左边的数字依次为2位、4位、8位等等。十进制数234可分解为4*100+3*101+2*102,二进制数1101可分解为1*20+0*21+1*22+1*23,它等价于十进制数1+0+4+8,即13。
2023-12-12 14:54:35
121
原创 7-24 实验3_7_数字拆分
已知一个正整数n,n的范围是1—999999999。你的任务是把这个整数分解为单个数字,然后从左至右依次打印出每一个数字。例如将整数“12345”分解,得到“1 2 3 4 5”。
2023-12-12 14:53:35
304
原创 7-11 三对三篮球赛
三对三篮球赛规定第4条:得分4.1. 在圆弧线以内投篮命中得 1 分。4.2. 在圆弧线以外投篮命中得 2 分4.3. 罚篮命中得 1 分。第5条:比赛时间/优胜者5.1 一节 10 分钟(这个可以称为常规时间)。在死球状态下和罚球时应停表。再次开球时,当球权方与防守队一名球员完成一次传递球后(即一旦进攻队持球),计时器应继续计时。5.2. 但是,在规定的比赛时间内(即在常规时间内),率先取得 21 分或以上的队伍获胜。5.3. 如果在规定比赛时间(即在常规时间内)两队打平,则应进行加时赛。
2023-12-12 14:50:27
295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅