
ACM习题库
#眼镜&
我从未想过输,除非我不想赢。
展开
-
ACM 计算器
问题描述 模拟程序型计算器,依次输入指令,可能包含的指令有 1. 数字:‘NUM X’,X为一个只包含大写字母和数字的字符串,表示一个当前进制的数2. 运算指令:‘ADD’,‘SUB.原创 2022-01-20 19:53:12 · 459 阅读 · 0 评论 -
算法提高 11-1实现strcmp函数
试题 算法提高 11-1实现strcmp函数资源限制时间限制:1.0s 内存限制:256.0MB问题描述 自己实现一个比较字符串大小的函数,也即实现strcmp函数。函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2。若s1与s2相等返回0,s1>s2返回1,s1<s2返回-1。具体来说,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止(注意’\0’值为0,小于任意ASCII字符原创 2021-04-12 21:17:24 · 155 阅读 · 0 评论 -
成绩排序
问题描述 给出n个学生的成绩,将这些学生按成绩排序, 排序规则,优先考虑数学成绩,高的在前;数学相同,英语高的在前;数学英语都相同,语文高的在前;三门都相同,学号小的在前输入格式 第一行一个正整数n,表示学生人数 接下来n行每行3个0~100的整数,第i行表示学号为i的学生的数学、英语、语文成绩输出格式 输出n行,每行表示一个学生的数学成绩、英语成绩、语文成绩、学号 按排序后的顺序输出样例输入21 2 32 3 4样例输出2 3 4 21 2 3 1数据规模和约定原创 2021-04-11 21:34:20 · 814 阅读 · 0 评论 -
算法提高 编写函数计算x^y
试题 算法提高 编写函数计算x^y资源限制时间限制:1.0s 内存限制:256.0MB问题描述 C语言数学库中用来计算x的y次幂的函数的定义如下: double pow( double x, double y),用该函数用来做整数的幂运算不仅耗时多,结果也经常不够准确。 请你自己写一个计算整数x的y(y是非负整数)次幂的函数,该函数的定义如下: int power( int x, int y );输入格式 只写函数,不用考虑输入输出格式。输出格式 函数中无需输出,只要将所求原创 2021-04-11 21:04:55 · 850 阅读 · 0 评论 -
算法提高 递归输出
试题 算法提高 递归输出资源限制时间限制:1.0s 内存限制:512.0MB问题描述 编写递归函数,将组成整数的所有数字逐个输出,每个数字后面加上一个减号“-”,例如对于整数123,该函数将输出1-2-3- 。编写主函数测试该递归函数。输入格式 输入一个整数n输出格式 如题目要求,把n的每个数字后面加一个减号”-“输出样例输入一个满足题目要求的输入范例。例:123样例输出与上面的样例输入对应的输出。例:1-2-3-数据规模和约定 输入n>0,必须使用递归原创 2021-04-11 20:27:00 · 155 阅读 · 0 评论 -
算法训练 大小写转换
试题 算法训练 P0103资源限制时间限制:1.0s 内存限制:256.0MB 从键盘输入一个大写字母,要求改用小写字母输出。输入 A输出 a 大写转小写# include<stdlib.h># include<string.h># pragma warning (disable:4996)int main(void){ char ch; scanf("%c", &ch); ch = ch + 32; printf("%原创 2021-04-10 21:17:19 · 114 阅读 · 0 评论 -
算法训练 求先序排列
试题 算法训练 求先序排列资源限制时间限制:1.0s 内存限制:256.0MB问题描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。输入格式 两行,每行一个字符串,分别表示中序和后序排列输出格式 一个字符串,表示所求先序排列样例输入 BADC BDCA样例输出ABCD# include<stdio.h># include<stdlib.h># include<string.原创 2021-04-10 21:06:45 · 94 阅读 · 0 评论 -
回文日期123321
问题描述2020年春节期间,有一个特殊的日期引起了大家的注意:2020年2月2日。因为如果将这个日期按 yyyymmdd 的格式写成一个8位数是20200202,恰好是一个回文数。我们称这样的日期是回文日期。有人表示20200202是“千年一遇”的特殊日子。对此小明很不认同,因为不到2年之后就是下一个回文日期:20211202,即2021年12月2日。也有人表示20200202并不仅仅是一个回文日期,还是一个ABABBABA型的回文日期。对此小明也不认同,因为大约 100 年后就能遇到下一个ABABB原创 2021-04-10 20:14:48 · 97 阅读 · 0 评论 -
算法提高 求1加到x的和(number)
试题 算法提高 求1加到x的和(number)资源限制时间限制:1.0s 内存限制:400.0MB问题描述 有一个数x,求从1加到x的值输入格式 输入一行,一个数x。输出格式 输出1行,从一加到x的值样例输入10样例输出55数据规模和约定 1<x<10000 累加法(暴力法)# include<stdio.h># include<string.h>int main(void){ int n,sum=0,i; scanf("%d原创 2021-04-07 21:31:44 · 745 阅读 · 0 评论 -
算法训练 景点游览
试题 算法训练 景点游览资源限制时间限制:1.0s 内存限制:256.0MB问题描述 小明来到一个景区游玩,但是他的时间有限,没办法逛遍所有的景点,所以他从网上下载了每个景点的评分,他希望能够使游览的景点的评分总和最高,于是他希望你帮他对于N个景点排下序。输入格式 输入的第一行包含一个正整数N,表示N个景点。 第二行有N个正整数,表示每个景点的评分值。输出格式 输出一行,包含N个正整数,表示N个景点的评分从大到小的排列样例输入43 2 4 1样例输出4 3 2 1数原创 2021-04-05 22:04:46 · 94 阅读 · 0 评论 -
算法训练 加法运算(以小悟大)
试题 算法训练 加法运算资源限制时间限制:1.0s 内存限制:256.0MB问题描述 你的表妹正在学习整数的加法,请编写一个程序来帮助她学习。该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示出来。要求:在主函数中不能使用scanf等函数直接输入这两个整数,而必须通过调用GetTwoInts函数来完成,在GetTwoInts函数中可以使用scanf函数。另外,由于该函数必须同时返回两个整数,因此不能采用函数返回值的方式,而原创 2021-04-05 21:19:51 · 93 阅读 · 0 评论 -
算法训练 数据交换
试题 算法训练 数据交换资源限制时间限制:1.0s 内存限制:256.0MB问题描述 编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。 输入格式:输入只有一行,包括两个整数。 输出格式:输出只有一行,也是两个整数,即交换以后的结果。 要求:主函数负责数据的输入与输出,但不能直接交换这两个变量的值,必须通过调用单独定义的函数swap来完成,而swap函数只负责交换变量的值,不能输出交换后的结果。输入输出样例样例输入4 7原创 2021-04-04 21:56:11 · 202 阅读 · 0 评论 -
算法训练 字符串合并
试题 算法训练 字符串合并资源限制时间限制:1.0s 内存限制:256.0MB问题描述 输入两个字符串,将其合并为一个字符串后输出。输入格式 输入两个字符串输出格式 输出合并后的字符串样例输入一个满足题目要求的输入范例。HelloWorld样例输出HelloWorld数据规模和约定 输入的字符串长度0<n<100# include<stdio.h># include<string.h># include<stdlib原创 2021-04-03 22:05:53 · 173 阅读 · 0 评论 -
算法训练 猴子吃包子
试题 算法训练 猴子吃包子资源限制时间限制:1.0s 内存限制:256.0MB问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。输入格式 输入1行,包含7个整数,分别表示吃不同包子的速度和不同包子的个数和保留的位数。输出格式 输出一行,包含1个实数,表示吃完所有包子的时间。样例原创 2021-04-03 21:32:37 · 77 阅读 · 0 评论 -
算法提高 二分法查找数组元素
试题 算法提高 二分法查找数组元素资源限制时间限制:1.0s 内存限制:256.0MB问题描述 用递归函数实现二分法查找数组元素。 补充:要求给定数组采用如下代码定义 int data[200]; for (i=0; i<200; i++) data[i]=4*i+6;输入格式 输入一个待查找的整数(该整数一定在数组data中)。输出格式 该整数在数组中的指标。样例输入一个满足题目要求的输入范例。例 1:262例2:438例3:774样例输出原创 2021-04-02 21:41:35 · 282 阅读 · 0 评论 -
基础练习 阶乘计算
试题 基础练习 阶乘计算资源限制时间限制:1.0s 内存限制:512.0MB问题描述 输入一个正整数n,输出n!的值。 其中n!=123*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。输入格式 输入包含一原创 2021-03-30 20:51:11 · 73 阅读 · 0 评论 -
基础练习 A+B问题
试题 基础练习 A+B问题资源限制时间限制:1.0s 内存限制:256.0MB问题描述输入A、B,输出A+B。说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。说明:“输入格式”是描述在测试你的程序时,所给的输入一定满足的格式。做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格式进行检查。多余的格式检查可能会适得其反,使用你的程序错误。在测试的时候,系统会自动将输入数据输入到你的程序转载 2021-03-29 17:56:34 · 427 阅读 · 0 评论 -
基础练习 序列求和
试题 基础练习 序列求和资源限制时间限制:1.0s 内存限制:256.0MB问题描述求1+2+3+…+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+…+n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低。样例输出5050数据规模与约定1 &l原创 2021-03-29 17:48:27 · 251 阅读 · 0 评论 -
圆的面积
试题 基础练习 圆的面积问题描述给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。说明:在本题中,输入是一个整数,但是输出是一个实数。对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。样例输入4样例输出50.265482原创 2021-03-29 17:32:03 · 105 阅读 · 0 评论 -
基础练习 Fibonacci数列
试题 基础练习 Fibonacci数列资源限制时间限制:1.0s 内存限制:256.0MB问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007原创 2021-03-29 17:11:08 · 261 阅读 · 0 评论 -
基础练习 闰年判断
试题 基础练习 闰年判断资源限制时间限制:1.0s 内存限制:256.0MB问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:年份是4的倍数而不是100的倍数;年份是400的倍数。其他的年份都不是闰年。输入格式输入包含一个整数y,表示当前的年份。输出格式输出一行,如果给定的年份是闰年,则输出yes,否则输出no。说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。样原创 2021-03-28 22:57:42 · 279 阅读 · 0 评论 -
基础练习 01字串
试题 基础练习 01字串资源限制时间限制:1.0s 内存限制:256.0MB问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011<以下部分省略>方法一、# include<stdio.原创 2021-03-28 22:51:14 · 87 阅读 · 0 评论 -
基础练习 字母图形
试题 基础练习 字母图形资源限制时间限制:1.0s 内存限制:256.0MB问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDEFGBABCDEFCBABCDEDCB原创 2021-03-28 21:26:57 · 120 阅读 · 0 评论 -
基础练习 数列特征
试题 基础练习 数列特征资源限制时间限制:1.0s 内存限制:256.0MB问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出5-211数据规模与约定1 <= n <= 10000。# include&l原创 2021-03-25 22:56:26 · 115 阅读 · 0 评论 -
基础练习 查找整数
试题 基础练习 查找整数资源限制时间限制:1.0s 内存限制:256.0MB问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。样例输入61 9 4 8 3 99样例输出2数据规模与约定1 <= n <= 100原创 2021-03-25 22:48:16 · 141 阅读 · 0 评论 -
基础练习 杨辉三角形
试题 基础练习 杨辉三角形资源限制时间限制:1.0s 内存限制:256.0MB问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。样例输入4样例原创 2021-03-25 22:19:50 · 91 阅读 · 0 评论 -
基础练习 特殊的数字 2
试题 基础练习 特殊的数字资源限制时间限制:1.0s 内存限制:512.0MB问题描述 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。输出格式 按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。# include<stdio.h># include<string.h># include<math.h># pragma warning(disable:4996原创 2021-03-25 21:48:32 · 153 阅读 · 0 评论 -
基础练习 回文数
试题 基础练习 回文数资源限制时间限制:1.0s 内存限制:512.0MB问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。# include<stdio.h># include<string.h># pragma warning(disable:4996)int main(void){ //int n; //scanf("%d", &n);原创 2021-03-25 21:39:54 · 133 阅读 · 0 评论 -
基础练习 特殊回文数 1
试题 基础练习 特殊回文数资源限制时间限制:1.0s 内存限制:512.0MB问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 1<=n<=54。# include<原创 2021-03-25 21:31:02 · 175 阅读 · 0 评论 -
十进制转十六进制
试题 基础练习 十进制转十六进制资源限制时间限制:1.0s 内存限制:512.0MB问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式 输入包含一个非负整数a,表示原创 2021-03-23 20:45:14 · 323 阅读 · 0 评论 -
十六进制转十进制
试题 基础练习 十六进制转十进制资源限制时间限制:1.0s 内存限制:512.0MB问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535# include <stdio.h># include <math.h># include <string.h>int main(void){ int原创 2021-03-23 19:23:07 · 1458 阅读 · 0 评论