
c语言算法练习
不当菜鸡的程序媛
你若盛开,清风自来
展开
-
1015: 计算时间间隔
题目描述读入两个用“时:分:秒”表示的时间点,计算以秒为单位的时间间隔。输入输入有两行,每行是一个用“时:分:秒”表示的时间点。测试数据保证第二个时间点晚于第一个时间点。输出输出一个整数,表示时间间隔的秒数。样例输入08:00:0009:00:00样例输出3600提示输入数据中带有普通字符,如冒号,scanf函数的格式字符串中对应位置上也要有对应字符。#include<stdio.h> int main(){ int a1,b1,原创 2022-02-19 15:20:34 · 7505 阅读 · 1 评论 -
1014: 求三角形的面积
题目描述给出三角形的三条边,求三角形的面积。输入输入三角形的三条边长(实数),数据之间用空格隔开。输出输出三角形的面积,结果保留2位小数。样例输入2.5 4 5样例输出提示用海伦公式或其他方法均可。#include<iostream>#include<math.h>#include<iomanip>using namespace std;int main(){ float a,b,c,p; cin>...原创 2022-02-19 15:10:50 · 388 阅读 · 0 评论 -
蓝桥杯真题:一共多少个星期一?
转载:星期一_weixin_30657999的博客-优快云博客本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。整个 2020 世纪(19011901 年 11 月 11 日至 20002000 年 1212 月 3131 日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)运行限制最大运行时间:1s 最大运行内存: 128M #include <iostream>#include <cstdlib>#include原创 2022-01-21 21:23:37 · 642 阅读 · 0 评论 -
1/1 + 1/2 + 1/4 + 1/8 + 1/16 + .... 每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来。分子分母要求互质。
转载:蓝桥杯真题 18省Ca1-分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + .... 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来。 类似: 3/2_伏城无嗔的博客-优快云博客转载 2022-01-21 21:15:19 · 1127 阅读 · 0 评论 -
ZZULIOJ 1198: 考试排名(二)(结构体专题)
题目描述ACM 国际大学生程序设计竞赛,英文全称:ACM International Collegiate Programming Contest(ACM-ICPC 或 ICPC)是由美国计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过30多年的发展,ACM 国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛...原创 2020-04-09 15:55:48 · 1146 阅读 · 0 评论 -
ZZULIOJ 1197: 考试排名(一)(结构体专题)
题目描述今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总成绩。现给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。输入第1行给出考生人数N ( 1<= N<=100 )、考题数M (1<=M<=10 )、分数线(正整数)G;第2行排序给出第1题至第M题的正整数分值;以...原创 2020-04-09 10:32:01 · 782 阅读 · 0 评论 -
ZZULIOJ 1194: 总成绩排序(结构体专题)
有一学生成绩表,包括学号、姓名、3门课程成绩。请按如下规则排序:按总成绩降序排序,若总成绩相同,则按姓名升序排序。输入首先输入一个整数n(1<=n<=100),表示学生人数;然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。输出输出排序后的成绩单,格式见输出样例...原创 2020-04-08 22:11:18 · 1677 阅读 · 0 评论 -
ZZULIOJ 1192: 奖学金(结构体专题)
题目描述某校发放奖学金共5种,获取条件各不同:1.阳明奖学金,每人8000,期末平均成绩>80,且在本学期发表论文大于等于1篇;2.梨洲奖学金,每人4000,期末平均成绩>85,且班级评议成绩>80;3.成绩优秀奖,每人2000,期末平均成绩>90;4.西部奖学金,每人1000,期末平均成绩>85的西部省份学生;5.班级贡献奖,每人850,...原创 2020-04-08 19:13:32 · 804 阅读 · 0 评论 -
ZZULIOJ 1191: 数星星(结构体专题)
题目描述一天,小明坐在院子里数星星,Gardon就出了个难题给她:Gardon在天空画出了一个矩形区域,让他输入矩形区域里有多少颗星星,仁慈的上帝还为他标出了每个星星的坐标。但小明数着数着就看花了眼,但他的原则是:宁愿多数一次,不可错过一个。如果小明把他数过的星星的坐标都告诉你,你能否帮他进行排重处理(如果两个星星的坐标位置相同,则视为一个星星),计算出星星的个数。输入首先...原创 2020-04-08 18:40:55 · 904 阅读 · 0 评论 -
ZZULIOJ 1190: 按出生日期排序(结构体专题)
题目描述送人玫瑰手有余香,小明希望自己能带给他人快乐,于是小明在每个好友生日的时候发去一份生日祝福。小明希望将自己的通讯录按好友的生日排序,这样就查看起来方便多了,也避免错过好友的生日。为了小明的美好愿望,你帮帮他吧。小明的好友信息包含姓名、出生日期。其中出生日期又包含年、月、日三部分信息。输入n个好友的信息,按生日的月份和日期升序输出所有好友信息。输入首先输入一个整数n(...原创 2020-04-08 18:13:00 · 624 阅读 · 0 评论 -
ZZULIOJ 1189: 选票统计(二)(结构体专题)
题目描述计算机与通信工程学院2012届学生会主席投票选举工作定于1月6日在电教楼前隆重举行。本次投票将采用电脑统计选票的方式,当投票选举正式开始后,同学们将排队一一走到电脑前,投上自己神圣的一票:在电脑前输入一个姓名,然后输入回车表示确认。当所同学投票结束,工作人员只需要输入一个”#”并回车确认,表示投票结束,电脑立即显示出得票最高的同学姓名,该同学将当选为新一届计算机与通信工程学院学...原创 2020-04-08 17:29:03 · 611 阅读 · 0 评论 -
ZZULIOJ 1188: 选票统计(一)(结构体专题)
题目描述1483. 某单位进行选举,有5位候选人:zhang、wang、zhao、liu、miao。编写程序,统计每人所得的票数。要求每人的信息里包括两部分:name和votes,分别描述姓名和所得票数。每个人的信息用一个结构体来表示,5个人的信息使用结构体数组。输入首先输入一个整数n,表示一张选票,接下来n行,每行是一个由小写英文字母组成的字符串,表示以上5个候选人之一。...原创 2020-04-08 15:20:21 · 712 阅读 · 0 评论 -
ZZULIOJ 1187: 棒棒糖(结构体专题)
题目描述新年快到了,计算机学院新年晚会正在筹备中,今年有一个新创意:来参加晚会的所有学生都有礼物(一根棒棒糖)。老师把买棒棒糖的任务交给小明了,并指定了要买的棒棒糖的品牌和品种。俗话说得好,货比三家不吃亏。小明来到了商店,看了各个店铺里这种棒棒糖的价格,不仅如此,他还记住了每个店铺的存货量。已知小明打算购买n根棒棒糖,问他最少要花多少钱?输入第一行输入一个整数n,表示要购买...原创 2020-04-08 12:40:20 · 481 阅读 · 0 评论 -
ZZULIOJ 1184: 平面点排序(二)(结构体专题)
题目描述平面上有n个点,坐标均为整数。横坐标相同时按纵坐标排序,否则按横坐标排序。本题要求用结构体存储坐标,再进行排序。先升序排序输出,再降序排序输出,可以自己写排序函数,也可以用qsort库函数排序。输入第一行是整数n(1<=n<=100),表示接下来有n行,每行两个整数,表示平面上一个点的坐标。输出输出有两行,即排序后的点,格式为(u,v),...原创 2020-04-08 10:44:34 · 590 阅读 · 0 评论 -
ZZULIOJ 1183: 平面点排序(一)(结构体专题)
题目描述平面上有n个点,坐标均为整数。请按与坐标原点(0,0)距离的远近将所有点排序输出。可以自己写排序函数,也可以用qsort库函数排序。输入输入有两行,第一行是整数n(1<=n<=10),接下来有n行,每行一对整数(每对整数对应一个点)。输出输出排序后的所有点,格式为(u,v),每个点后有一个空格。测试数据保证每个点到原点的距离都不同。...原创 2020-04-08 10:16:30 · 1986 阅读 · 0 评论 -
ZZULIOJ 1182: 查询记录(结构体专题)
题目描述有一学生成绩表,包括学号、姓名、3门课程成绩。请实现如下查找功能:输入一个学生的学号,输出该学生学号、姓名、3门课程成绩输入首先输入一个整数n(1<=n<=100),表示学生人数;然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。最后一行输入一个学号num输出...原创 2020-04-07 11:13:12 · 1684 阅读 · 0 评论 -
ZZULIOJ 1181: 谁的年龄最小(结构体专题)
题目描述设计一个结构体类型,包含姓名、出生日期。其中出生日期又包含年、月、日三部分信息。输入n个好友的信息,输出年龄最小的好友的姓名和出生日期。输入首先输入一个整数n(1<=n<=10),表示好友人数,然后输入n行,每行包含一个好友的信息:姓名(不超过20位)以及三个整数,分别表示出生日期的年月日。输出输出年龄最小的好友的姓名和出生日期,用空格隔...原创 2020-04-07 10:29:54 · 897 阅读 · 0 评论 -
ZZULIOJ 1180: 成绩统计(结构体专题)
题目描述从键盘输入若干个学生的信息,每个学生信息包括学号、姓名、3门课的成绩,计算每个学生的总分,输出总分最高的学生的信息。输入首先输入一个整数n(1<=n<=100),表示学生人数,然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及三个整数,表示语文、数学、英语三门课成绩,数据之间用空格隔开。输出输出总成...原创 2020-04-07 10:00:44 · 1005 阅读 · 0 评论 -
1176: 查找最大字符串(指针专题)
题目描述从键盘上输入多个字符串(每个串不超过5个字符且没有空格),用”*****”作为串输入结束的标记。从所输入的若干字符串中,找出一个最大的串,并输出该串。要求最大串的查找通过调用编写的函数实现void find(char *name[], int n, int *p){//在包含n个字符串的二维字符数组name中,查找值最大的字符串,将其下标存入指针p所指内存单元}...原创 2020-04-01 08:59:06 · 1740 阅读 · 0 评论 -
1174: 长整数排序(指针专题)
题目描述长整数排序。输入n 然后输入n个位数不超过100位的大整数,输入的整数可能含有前导0。将这n个长整数排序后输出,输出不含前导0。int greater(char *s1, char *s2){若s1指向的整数大于s2指向的整数,返回一个正整数;若s1指向的整数小于s2指向的整数,返回负整数;若s1指向的整数等于s2指向的整数,返回0;}输入...原创 2020-03-31 20:42:03 · 579 阅读 · 0 评论 -
1175: 矩阵转置(指针专题)
题目描述给定一个m行n列的二维矩阵,输出其转置矩阵。1<=m、n<=100000,可能是1行100000列,也可能是10000行50列。你可能不能预定义数组的大小了,你要学会使用动态内存分配哦。输入输入第一行是m和n,然后是一个m行n列的矩阵。输出输出转置后的矩阵样例输入Copy3 41 2 3 4 5 6 7 8 9 ...原创 2020-03-28 19:02:25 · 590 阅读 · 0 评论 -
1173: 密码解密(指针专题)
题目描述有加密当然也有解密啦。那我们来解密吧。已知明文中只有数字和字母,且加密的规则如下:将每个字符的ascii码的值减去24作为每个字符加密过后的密文,例如'a'的ascii码的值为97,那么加密后就变成了73。"73"就是'a'的密文。所以,若密文是“757392”,则解密后的原文是“cat”。现在请你编写程序,将一段密文解密为原文。请定义并使用如下函数void decrypt(...原创 2020-03-28 18:04:05 · 653 阅读 · 0 评论 -
1172: 矩阵边界和(指针专题)(动态申请二维数组)
题目描述给定一个m行n列的二维矩阵,求其四周边元素和。1<=m、n<=100000,可能是1行100000列,也可能是10000行50列,但保证矩阵元素不多于500000。你可能不能预定义数组的大小了,你要学会使用动态内存分配哦。你可以动态申请m*n个内存单元,然后用一维数组来存储二维数组,二维数组元素a[i][j]对应一维数组a[i*n+j],i、j均从0开始。输入...原创 2020-03-28 17:37:27 · 183 阅读 · 0 评论 -
1171: 加密(指针专题)
题目描述将一段明文加密。加密的规则如下:将每个字符的ascii码的值减去24作为每个字符加密后的值,例如'a'的ascii码的值为97,那么加密后就变成了73。"73"就是'a'的密文,例如,字符串"abc",在加密之后变为"737475",最后,整个密文再进行翻转,得到最终的密文"574737"。现在请你编写程序,对一段文字加密。请定义并使用如下函数:void encrypt(cha...原创 2020-03-28 17:08:46 · 813 阅读 · 1 评论 -
1169: 大整数(指针专题)
题目描述输入3个非负大整数,位数不超过100位,按从小到大的顺序输出这三个整数。要求定义并使用如下函数比较两个大整数的大小。int cmp(char *a,char *b){//若大整数a大于b,返回1;//若a小于b,返回-1;// 若a与b相等,返回0}输入输入有3行,每行输入一个大整数,位数不超过100位,输入不含前导0。输出输出3行,...原创 2020-03-27 21:19:14 · 478 阅读 · 0 评论 -
1168: 账单(指针专题)
题目描述每到月末,小明就会对这个月的支出账单进行整理和统计。如今电脑已经普及大学校园,所以小明想让电脑帮忙做这件事情。聪明的你就为小明编一个程序来完成这件事情吧。输入多实例测试。首先输入一个整数ncase,表示测试实例的个数。每个测试实例的输入如下:第一行是整数n (n<100)。然后是n行的账单信息,每一行由事物的名字name和对应的花费c组成,长度不超过200。中间会有一...原创 2020-03-27 18:32:07 · 494 阅读 · 0 评论 -
1167: 逆转数(指针专题)
题目描述任意给你一个整数,这个数可能很大(最长不超过100位),你能求出它的逆转数吗?逆转数定义如下:1.一个末尾没有0的整数,它的逆转数就是各位数字逆序输出;2.一个负数的逆转数仍是负数;3.一个末尾有0的整数,它的逆转数如同下例:reverse (1200) = 2100reverse (-56) = -65要求定义并使用如下函数:void revers...原创 2020-03-27 17:26:55 · 1085 阅读 · 0 评论 -
1166: 实数取整(指针专题)
题目描述读入一个实数,输出实数的整数部分。注意该实数的位数不超过100位。输入的整数部分可能含有不必要的前导0,输出时应去掉,当然,若整数部分为0,则该0不能去掉。如输入0023.56732,输出应为23,而不是0023;0.123对应的输出应为0。当然输入也可能不含小数部分。要求定义并使用rounding()函数,原型如下:char *rounding(char *p){...原创 2020-03-27 17:14:06 · 1110 阅读 · 3 评论 -
1165: 实数的小数部分(指针专题)
题目描述读入一个实数,输出该实数的小数部分,小数部分若多余的末尾0,请去掉。如输入111111.12345678912345678900则输出0.123456789123456789。若去掉末尾0之后小数部分为0,则输出“No decimal part”。注意该实数的位数不超过100位。请定义并使用如下函数。char *decimal(char *p){将字符串p表示的...原创 2020-03-27 16:55:49 · 1770 阅读 · 0 评论 -
ZZULIOJ 1163: 亲和串(字符串)
题目描述判断亲和串。亲和串的定义是这样的:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。输入本题有多组测试数据,每组数据的第一行包含输入字符串s1,第二行包含输入字符串s2,s1与s2的长度均小于100000。输出如果s2是s1的亲和串,则输出"yes",反之,输出"no"。每组测试的输出占一行。样例输入AA...原创 2020-03-18 09:38:12 · 901 阅读 · 1 评论 -
ZZULIOJ 1162: 循环移动(指针专题)
题目描述有n个整数,使前面各数顺序向后移动k个位置,移出的数再从开头移入。输出移动后的数组元素。题目没有告诉你n的范围,希望你读入n之后用malloc()函数动态申请内存空间,不要提前定义数组的大小。不要偷懒哦。另外要求定义并使用函数ringShift()void ringShift(int *a, int n, int k){//循环移动后的数值仍然存入数组a中}...原创 2020-03-18 08:52:11 · 917 阅读 · 0 评论 -
1158: 又是排序(指针专题)
题目描述将输入的四个整数按由大到小的顺序输出。请你定义一个四个数排序的函数psort,psort的四个参数为要排序的四个整数变量的地址,请你按照从大到小的顺序把四个数分别放到四个指针所指向的变量里,不要在函数内输入输出任何内容。请务必使用函数实现四个数的排序。void psort( int *pa, int *pb,int *pc,int *pd){ //实现四个数的排...原创 2020-03-15 13:56:59 · 1405 阅读 · 0 评论 -
POJ 2955 括号匹配
BracketsTime Limit:1000MS Memory Limit:65536K Total Submissions:17416 Accepted:9016 DescriptionWe give the following inductive definition of a “regular brackets” seq...原创 2020-03-15 13:39:32 · 135 阅读 · 0 评论 -
ZZULIOJ 1154: 校门外的树
题目描述某校大门外长度为L 的马路上有一排树,每两棵相邻的树之间的间隔都是1 米。我们可以把马路看成一个数轴,马路的一端在数轴0 的位置,另一端在L 的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(...原创 2020-03-04 12:22:50 · 236 阅读 · 0 评论 -
ZZULIOJ 1153: 简易版最长序列
题目描述给你一组数(未排序),请你设计一个程序:求出里面个数最多的数。并输出这个数的长度。例如:给你的数是:1、 2、 3、 3、 4、 4、 5、 5、 5 、6, 其中只有6组数:1, 2, 3-3, 4-4, 5-5-5 and 6.最长的是5那组,长度为3。所以输出3。输入第一行为整数t((1 ≤ t ≤ 10)),表示有n组测试数据。每组测试数据...原创 2020-03-04 11:12:19 · 859 阅读 · 0 评论 -
ZZULIOJ 1152: 二分搜索
题目描述在有序序列中查找某一元素x。输入首先输入一个正整数n(n<=100000),表示该序列有n个整数,然后按从小到大的顺序输入n个整数;接着是一个正整数m,表示有m次查找;最后是m个整数,表示m个要查找的整数x。输出对于每一次查找,有一行输出。若序列中存在要查找的元素x,则输出元素x在序列中的序号(序号从0开始);若序列中不存在要查找的元素x,则输出"Not ...原创 2020-02-28 18:22:12 · 525 阅读 · 0 评论 -
ZZULIOJ 1155: 字符串比较 多实例
题目描述比较字符串大小,但比较的规则不同字典序规则。字符比较新规则如下:A < a < B < b < ………… < Z < z。输入输入数据包含多个测试实例,每个测试实例占两行,每一行有一个字符串(只包含大小写字母, 长度小于10000)。输出如果第一个字符串小于第二个,输出YES,否则,输出NO。注意:A <...原创 2020-02-28 17:12:22 · 1897 阅读 · 2 评论 -
ZZULIOJ 1157: 连续的n个1
题目描述计算机数据都是由0和1组成的,看着长长的0101001110101111011,要找出连续n个1的子串有多少个,确实麻烦,请你编程实现吧。输入输入第一行为一个字符串,由0和1组成,长度小于1000;输入第二行为一个正整数n。输出输出一个整数,表示连续n个的1的子串的个数。样例输入01010011101011110112样例输出6#i...原创 2020-02-27 16:37:07 · 619 阅读 · 0 评论 -
ZZULIOJ 1156: 单数变复数
题目描述输入一个名词英语单词,按照英语语法规则把单数变成复数。规则如下:(1) 以辅音字母y结尾,变y为i,再加es;(2) 以s, x, ch, sh结尾,则加es;(3) 以元音o结尾,则加es;(4) 其他情况加上s。输入输入一个字符串,仅含小写字母,长度不超过20。输出输出其对应的复数形式。样例输入Copybutt...原创 2020-02-27 15:49:05 · 333 阅读 · 0 评论 -
ZZULIOJ 1148: 组合三位数之一
题目描述把1、2、3、4、5、6、7、8、9组合成3个3位数,要求每个数字仅使用一次,使每个3位数均为完全平方数。按从小到大的顺序输出这三个三位数。输入无输出按从小到大的顺序输出这三个三位数,由空格隔开。输出占一行。#include <stdio.h>#include <stdlib.h>#include<string.h>...原创 2020-02-15 15:08:58 · 1046 阅读 · 0 评论