pta
要一颗不甜的糖
菜鸟上路,请多指教
展开
-
7-5 字符串排序--string类的使用
先输入你要输入的字符串的个数。然后换行输入该组字符串。每个字符串以回车结束,每个字符串不多于一百个字符。如果在输入过程中输入的一个字符串为“stop”,也结束输入。然后将这输入的该组字符串按每个字符串的长度,由小到大排序,按排序结果输出字符串。如果存在多个字符串长度相同,则按照原始输入顺序输出。字符串的个数,以及该组字符串。每个字符串以‘\n’结束。如果输入字符串为“stop”,也结束输入.可能有多组测试数据,对于每组数据,将输入的所有字符串按长度由小到大排序输出(如果有“stop”,不输出“stop原创 2022-12-08 10:25:38 · 894 阅读 · 0 评论 -
7-1 数据结构实验五 快速排序
用顺序表作存储结构,输入一组数据,用快速排序法对其进行排序。原创 2022-12-02 15:18:10 · 1526 阅读 · 0 评论 -
7-1 二分查找
利用二分查找找出所给出的数在数组中的下标原创 2022-11-22 16:30:06 · 2304 阅读 · 1 评论 -
7-6 比较两个字符串大小
比较两个字符串的大小,不许使用strcmp函数。原创 2022-10-17 19:57:58 · 818 阅读 · 0 评论 -
7-1 删除字符串中的子串(附有详细解析)
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。原创 2022-10-17 09:13:04 · 2643 阅读 · 4 评论 -
7-3 递归实现逆序输出整数
本题目要求读入1个正整数n,然后编写递归函数reverse(int n)实现将该正整数逆序输出。输入格式:输入在一行中给出1个正整数n。输出格式:对每一组输入,在一行中输出n的逆序数。输入样例:12345结尾无空行输出样例:54321结尾无空行上代码:#include <stdio.h>#include <stdlib.h>void reverse(int n);int main(int argc, char *argv[]原创 2021-12-17 16:02:15 · 1540 阅读 · 1 评论 -
7-1 圆形体体积计算器
本题要求实现一个常用圆形体体积的计算器。计算公式如下:球体体积V=34πr3,其中r是球体半径。 圆柱体体积V=πr2h,其中r是底圆半径,h是高。 圆锥体体积V=31πr2h,其中r是底圆半径,h是高。输入格式:在每次计算之前,要求输出如下界面:1-Ball2-Cylinder3-Coneother-ExitPlease enter your command:然后从标准输入读进一个整数指令。输出格式:如果读入的指令是1或2或3,则执行相应的体积计算;如果是...原创 2021-12-16 19:08:21 · 1241 阅读 · 0 评论 -
6-13 分治法求解金块问题
老板有一袋金块(共n块,2≤n≤100),两名最优秀的雇员每人可以得到其中的一块,排名第一的得到最重的金块,排名第二的则得到袋子中最轻的金块。输入一个正整数N(2≤N≤100)和N个整数,用分治法求出最重金块和最轻金块。本题要求实现2个函数,分别使用分治法在数组中找出最大值、最小值。函数接口定义:int max(int a[ ], int m, int n); int min(int a[ ], int m, int n); 递归函数max用分治法求出a[m]~a[n]中的最大原创 2021-12-16 15:46:44 · 4074 阅读 · 7 评论 -
6-12 有序表的简单增删查操作
首先输入一个正整数N(1≤N≤1000)和一个无重复元素的、从小到大排列的、N个元素的有序表,然后在屏幕上显示以下菜单(编号和选项):[1] Insert[2] Delete[3] Query[Other option] End用户可以反复对该有序表进行插入、删除和查找操作,也可以选择结束。当用户输入编号1~3和相关参数时,将分别对该有序表进行插入、删除和查找操作,输入其他编号,则结束操作。本题要求实现3个函数,分别在有序表(数组)中插入、删除、查找一个值。函数接口定义:voi原创 2021-12-16 13:17:46 · 5506 阅读 · 0 评论 -
6-11 递归计算P函数
本题要求实现下列函数P(n,x)的计算,其函数定义如下:函数接口定义:double P( int n, double x );其中n是用户传入的非负整数,x是双精度浮点数。函数P返回P(n,x)函数的相应值。题目保证输入输出都在双精度范围内。裁判测试程序样例:#include <stdio.h>double P( int n, double x );int main(){ int n; double x; scanf("%d %lf原创 2021-12-15 16:31:13 · 3898 阅读 · 0 评论 -
6-10 递归求阶乘和
本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。函数接口定义:double fact( int n );double factsum( int n );函数fact应返回n的阶乘,建议用递归实现。函数factsum应返回 1!+2!+...+n! 的值。题目保证输入输出在双精度范围内。裁判测试程序样例:#include <stdio.h>double fact( int n );double factsum( in原创 2021-12-15 16:20:14 · 209 阅读 · 0 评论 -
6-9 十进制转换二进制
本题要求实现一个函数,将正整数n转换为二进制后输出。函数接口定义:void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。裁判测试程序样例:#include <stdio.h>void dectobin( int n );int main(){ int n; scanf("%d", &n); dectobin(n); return 0;}/* 你的代码将被嵌在原创 2021-12-15 15:45:32 · 690 阅读 · 0 评论 -
6-8 递归求逆序数(求助篇)
这题我只是用了普通的方法,用递归总是会多一个数字或者是输出原文,所以特发此贴求大佬帮。本题要求实现一个求非负整数的逆序数的简单函数,建议用递归实现。函数接口定义:unsigned int reverse( unsigned int number );其中number是用户传入的参数,number的值不超过unsigned int的范围;函数须返回用户传入的非负整数number的逆序数,建议用递归实现。裁判测试程序样例:#include <stdio.h># i...原创 2021-12-15 15:43:25 · 6161 阅读 · 0 评论 -
6-7 判断满足条件的三位数
本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。函数接口定义:int search( int n );其中传入的参数int n是一个三位数的正整数(最高位数字非0)。函数search返回[101,n]区间内所有满足条件的数的个数。裁判测试程序样例:#include <stdio.h>#include <math.h>int search( int n );int main(){ int .原创 2021-12-15 08:52:54 · 4426 阅读 · 1 评论 -
6-5 递归求简单交错幂级数的部分和
本题要求实现一个函数,计算下列简单交错幂级数的部分和:f(x,n)=x−x2+x3−x4+⋯+(−1)n−1xn函数接口定义:double fn( double x, int n );其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数fn应返回上述级数的部分和。建议尝试用递归实现。裁判测试程序样例:#include <stdio.h>double fn( double x, int n );int main(){ double x;原创 2021-12-14 19:01:45 · 595 阅读 · 0 评论 -
6-4 递归求Fabonacci数列
本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:f(n)=f(n−2)+f(n−1)(n≥2),其中f(0)=0,f(1)=1。函数接口定义:int f( int n );函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。裁判测试程序样例:#include <stdio.h>int f( int n );int main(){ int n; scanf("%d", &a.原创 2021-12-14 18:33:26 · 1535 阅读 · 0 评论 -
6-3 递归计算Ackermenn函数
本题要求实现Ackermenn函数的计算,其函数定义如下:函数接口定义:int Ack( int m, int n );其中m和n是用户传入的非负整数。函数Ack返回Ackermenn函数的相应值。题目保证输入输出都在长整型范围内。裁判测试程序样例:#include <stdio.h>int Ack( int m, int n );int main(){ int m, n; scanf("%d %d", &m, &n);原创 2021-12-14 16:34:40 · 1717 阅读 · 0 评论 -
6-2 递归实现指数函数
本题要求实现一个计算xn(n≥1)的函数。函数接口定义:double calc_pow( double x, int n );函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。裁判测试程序样例:#include <stdio.h>double calc_pow( double x, int n );int main(){ double x; int n; scanf("%lf %d", &x,原创 2021-12-14 16:15:45 · 824 阅读 · 0 评论 -
6-1 使用递归函数计算1到n之和 (10 分)
本题要求实现一个用递归计算1+2+3+…+n的和的简单函数。函数接口定义:int sum( int n );该函数对于传入的正整数n返回1+2+3+…+n的和;若n不是正整数则返回0。题目保证输入输出在长整型范围内。建议尝试写成递归函数。裁判测试程序样例:#include <stdio.h>int sum( int n );int main(){ int n; scanf("%d", &n); printf ("%d\n", s原创 2021-12-14 16:03:31 · 1199 阅读 · 0 评论 -
7-9 输出平均分最高的学生信息
7-9 输出平均分最高的学生信息 (10 分)假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(1<=n<=10)个学生的成绩信息,计算并输出平均分最高的学生信息,平均分保留两位小数。如果平均分最高的学生有多个,按输入顺序输出第一个学生的信息。输入格式:输入整数n(1<=n<=10),在下面n行输入n个学生的信息,包括学号、姓名、三门课程成绩(整数)。输出格式:在一行中输出平均分最高的学生信息:学号、姓名、原创 2021-12-13 19:38:18 · 3247 阅读 · 1 评论 -
7-8 通讯录排序
输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。输入样例:3zhang 198504原创 2021-12-13 14:59:42 · 193 阅读 · 0 评论 -
7-7 找出总分最高的学生
给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。输入样例:500001 huanglan 78 8原创 2021-12-13 10:21:02 · 542 阅读 · 0 评论 -
7-6 平面向量加法
本题要求编写程序,计算两个二维平面向量的和向量。输入格式:输入在一行中按照“x1y1x2y2”的格式给出两个二维平面向量v1=(x1,y1)和v2=(x2,y2)的分量。输出格式:在一行中按照(x, y)的格式输出和向量,坐标输出小数点后一位(注意不能输出−0.0)。输入样例:3.5 -2.7 -13.9 8.7结尾无空行输出样例:(-10.4, 6.0)结尾无空行#include <stdio.h>#include ...原创 2021-12-13 09:54:38 · 2003 阅读 · 1 评论 -
6-3 修改学生成绩
输入n(n<50)个学生的成绩信息,再输入一个学生的学号、课程以及成绩,在自定义函数update_score()中修改该学生指定课程的成绩。函数接口定义:int update_score(struct student *p, int n, int num, int course, int score);其中p是结构指针,n是学生个数,course是课程序号,score是修改后的课程成绩。函数须返回指定学生的顺序位置,如果查无此人,返回-1。裁判测试程序样例:#include原创 2021-12-09 20:07:22 · 1637 阅读 · 1 评论 -
6-2 按等级统计学生成绩
本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。函数接口定义:int set_grade( struct student *p, int n );其中p是指向学生信息的结构体数组的指针,该结构体的定义为:struct student{ int num; char name[20]; int score; char grade;};n是数组元素个数。学号num、姓名name和成绩score均是已经存储好的。set_grade函数需要原创 2021-12-09 19:49:38 · 6290 阅读 · 0 评论 -
7-1 计算职工工资
给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式:输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式:按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。输入样例:3zhao 240 400原创 2021-12-10 09:20:02 · 2018 阅读 · 0 评论 -
7-2 时间换算
本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。输入格式:输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。输出格式:输出在一行中给出hh:mm:ss格式的结果时间。输入样例:11:59:4030结尾无空行输出样例:12:00:10结尾无空行博主比较菜,只能写出这种冗长的代码。这个代码是肯定可以进一步简化的,这就交给读者帮我简化了,如果有想法可以在评论区原创 2021-12-10 10:00:29 · 580 阅读 · 0 评论 -
7-3 计算平均成绩
给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩”,中间以空格分隔。输出格式:首先在一行中输出平均成绩,保留2位小数。然后按照输入顺序,每行输出一位平均线以下的学生的姓名和学号,间隔一个空格。输入样例:500001 zhang原创 2021-12-10 10:28:33 · 1026 阅读 · 0 评论 -
7-5 有理数比较
本题要求编写程序,比较两个有理数的大小。输入格式:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。输入样例1:1/2 3/4结尾无空行输出样例1:1/2 < 3/4结尾无空行输入样例2:6/8 3/4输出样例2:6/8原创 2021-12-13 09:28:42 · 1844 阅读 · 0 评论