ZZULIOJ
郑轻OJ刷题代码及总结
木右加木
无
展开
-
ZZULIOJ刷题积累
数位分离(1004)取整+取余输出占n列+左对齐|右对齐每个整数占n列左对齐 %-nd右对齐 %nd原创 2020-06-22 12:40:56 · 530 阅读 · 0 评论 -
ZZULIOJ 1063: 最大公约与最小公倍 *
题目描述输入两个正整数,输出其最大公约数和最小公倍数。输入输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。输出输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。样例输入4 6样例输出2 12提示注意运算过程中的溢出问题(C语言代码)#include<stdio.h>int main(){ int n,m,y,a,b; scanf("%d%d",&n,&m); a=n;原创 2020-06-28 14:06:41 · 524 阅读 · 0 评论 -
ZZULIOJ 1062: 最大公约数 *
题目描述输入两个不大于10的9次方的正整数,输出其最大公约数。输入输入两个正整数m和n,数据之间用空格隔开。输出输出一个整数,表示m和n的最大公约数。样例输入4 6样例输出2提示请查阅欧几里得定理及辗转相除法(C语言代码)...原创 2020-06-26 23:05:07 · 359 阅读 · 0 评论 -
ZZULIOJ 1061: 顺序输出各位数字 *
题目描述输入一个不大于10的9次方的正整数,从高位开始逐位分割并输出各位数字。输入输入一个正整数n,n是int型数据输出依次输出各位上的数字,每一个数字后面有一个空格,输出占一行。例如,输入 12345 ,输出 1 2 3 4 5样例输入12345样例输出1 2 3 4 5提示注意整数运算避免使用double类型的函数如pow()。本题可先用一个循环计算出最高位的位权h,然后再用一个循环,循环内容为: 输出最高位(n/h)、扔掉最高位(n = n%h)、降低最高位位权(h = h/原创 2020-06-24 22:32:28 · 627 阅读 · 0 评论 -
ZZULIOJ 1060: 逆序数字 *
题目描述输入一个正整数,将其逆序输出,每个数字后有一个空格。输入输入一个正整数n,你可以假设n在int范围内输出将n按其逆序输出,每个数字后有一个空格,输出占一行。例如,输入12354,输出4 5 3 2 1样例输入12354样例输出4 5 3 2 1提示整数n对10取模可得到个位上的数字,而利用整数商是整数这一特点,整数n除以10的商正好“扔掉”了个位上的数字(C语言代码)#include<stdio.h>int main(){ int m,i;原创 2020-06-24 21:47:50 · 419 阅读 · 0 评论 -
ZZULIOJ 1059: 最高分
题目描述输入一批学生的成绩(整数),输出最高分。输入输入包含多个非负整数和一个负整数。该负数不作为有效成绩,只表示输入结束。输出输出一个整数,即最高分。单独占一行。样例输入7 6 5 9 2 -1样例输出9(C语言代码)#include<stdio.h>int main(){ int x,i,max=0; while(scanf("%d",&x)&&x>0) { if(x>max)原创 2020-06-24 21:43:41 · 335 阅读 · 0 评论 -
ZZULIOJ 1059: 最高分
题目描述输入一批学生的成绩(整数),输出最高分。输入输入包含多个非负整数和一个负整数。该负数不作为有效成绩,只表示输入结束。输出输出一个整数,即最高分。单独占一行。样例输入7 6 5 9 2 -1样例输出9(C语言代码)#include<stdio.h>int main(){ int x,i,max=0; while(scanf("%d",&x)&&x>0) { if(x>max)原创 2020-06-24 21:38:31 · 289 阅读 · 0 评论 -
ZZULIOJ 1132: 数字字符统计
1132: 数字字符统计题目描述对于给定的一个字符串,统计其中数字字符出现的次数。字符串长度不超过1000.输入输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串输出对于每个测试实例,输出该串中数字字符的个数,每个输出占一行。样例输入2asdfasdf123123asdfasdfasdf111111111asdfasdfa...原创 2020-02-16 00:44:52 · 414 阅读 · 0 评论 -
ZZULIOJ 1130: 杨辉三角
1130: 杨辉三角题目描述还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1输入输入只包含一个正整数n(1 <= n <= 30),表示将要输出的杨辉三角的层数。输出输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开。样例输入4样例输出11 1...原创 2020-02-15 22:27:00 · 525 阅读 · 0 评论 -
ZZULIOJ 1129: 第几天
1129: 第几天题目描述你知道,2012-1-1是该年的第1天,而9999-9-9呢?给你一个具体的日期,计算该日期是该年的第几天。输入输入一个日期,格式为:Year-month-day。year是小于9999的正整数。输出一个整数,表示该日期是该年的第几天。样例输入2012-3-1样例输出61(C语言)#include<stdio.h>int main(...原创 2020-02-15 17:50:06 · 371 阅读 · 0 评论 -
ZZULIOJ 1128: 课程平均分
1128: 课程平均分题目描述期末考试结束,班主任拿到了本班学生的成绩汇总表,由m行n列组成(本班共有m名学生,本学期有n门课程),每行是一个同学的n门课程成绩,请编写程序,计算并输出每门课的平均分,结果保留2位小数。输入第一行是两个整数m和n,表示本班的人数和本学期课程数目,0<m<=1000,0<n<=10。接下来是成绩单,有m行,每行n个实数。输出输出一...原创 2020-02-15 15:34:19 · 359 阅读 · 0 评论 -
ZZULIOJ 1127: 矩阵乘积
1127: 矩阵乘积题目描述计算两个矩阵A和B的乘积。输入第一行三个正整数m、p和n,0<=m,n,p<=10,表示矩阵A是m行p列,矩阵B是p行n列;接下来的m行是矩阵A的内容,每行p个整数,用空格隔开;最后的p行是矩阵B的内容,每行n个整数,用空格隔开。输出输出乘积矩阵:输出占m行,每行n个数据,以空格隔开。样例输入2 3 41 0 10 0 11 1 1...原创 2020-02-15 14:45:35 · 317 阅读 · 1 评论 -
ZZULIOJ 1126: 布尔矩阵的奇偶性
1126: 布尔矩阵的奇偶性题目描述一个布尔方阵具有奇偶均势特性,当且仅当 每行、每列总和为偶数,即包含偶数个1。如下面这个4*4的矩阵就具有奇偶均势特性:1 0 1 00 0 0 01 1 1 10 1 0 1编写程序,读入一个n阶方阵并检查它是否具有奇偶均势特性。如果没有,你的程序应当再检查一下它是否可以通过修改一位(把0改为1,把1改为0)来使它具有奇偶均势特性;如果不可能,这...原创 2020-02-14 22:08:24 · 409 阅读 · 0 评论 -
ZZULIOJ 1125: 上三角矩阵的判断
1125: 上三角矩阵的判断题目描述编写程序,输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,如果a是上三角矩阵,输出“YES”,否则,输出“NO”。上三角矩阵即主对角线以下(不包括主对角线)的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。要求定义函数IsUpperTriMatrix()判断矩阵a是否是上三角矩阵,如果是返回1,否则返回0。函数原型如下:...原创 2020-02-14 19:44:46 · 945 阅读 · 1 评论 -
ZZULIOJ 1124: 两个有序数组合并
1124: 两个有序数组合并题目描述已知数组a中有m个按升序序排列的元素,数组b中有n个降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。输入输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m, n均小于等于1000000。输出输出合并后的m+n个整数,数据之间用空格隔开。输出占一行。样例输入4 1 2 5 73 6 4 ...原创 2020-02-14 16:45:16 · 1209 阅读 · 2 评论 -
ZZULIOJ 1123: 最佳校友
1123: 最佳校友题目描述北京校友会每年举办两次,所有校友都有校友编号,每次到会的校友都在签到簿上写下自己的编号和姓名,在校友会成立5周年的聚会上将颁发“最佳校友奖”,该奖项颁发给到会次数最多的校友。现在请你编写程序,找出这个奖项的得主。若有多个校友并列第一,则均可获奖。输入输入若干个整数,表示签到簿上的校友编号,所有编号均为0~99的整数,以一个负数作为输入结束的标志。输出输出出现...原创 2020-02-14 15:00:31 · 1069 阅读 · 0 评论 -
ZZULIOJ 1122: 小明的调查作业
1122: 小明的调查作业题目描述小明的老师布置了一份调查作业,小明想在学校中随机找N个同学一起做一项问卷调查,聪明的小明为了实验的客观性,他先随机写下了N个1到1000之间的整数(0<N≤1000),不同的数对应着不同的学生的学号。但他写下的数字难免会有重复数字,小明希望能把其余重复的数去掉,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的...原创 2020-02-13 22:28:24 · 938 阅读 · 0 评论 -
ZZULIOJ 1121: 电梯
1121: 电梯题目描述在某一高层建筑内只有一部电梯,当你按下一个数时,电梯会运行到那一层。已知电梯每上升一层需6秒,下降一层需4秒,在需要停留的那层停留5秒。现有N个整数组成的一个需求列表,电梯将依次响应,电梯从0层开始运行,而在运行过程结束之前不会返回0层。注意,若出现相邻两个整数相等,代表在同一层执行了两个不同任务,可以理解为:电梯已经停了5秒,正要关门时又有人在同一层按开门键,电梯又...原创 2020-02-13 20:57:36 · 730 阅读 · 0 评论 -
ZZILIOJ 1120: 最值交换
1120: 最值交换题目描述有一个长度为n的整数序列。请写一个程序,先把序列中的最小值与第一个数交换,再把最大值与最后一个数交换。输出转换好的序列。 分别编写两个函数MinIndex()和MaxIndex()来计算最小值下标和最大值下标。intMinIndex(int a[], int n); //函数返回数组a中最小元素的下标intMaxIndex(int a[], int n); ...原创 2020-02-13 20:17:41 · 677 阅读 · 0 评论 -
ZZULIOJ 1119: 一维数组排序
1119: 一维数组排序题目描述对一维数组按照从小到大的顺序排序。程序定义函数sort()来实现数组a的排序。函数原型如下:void sort(int a[], int n);数组元素的输出调用PrintArr()。输入第一行输入一个整数n(1<=n<=10),表示数组有n个整数;第二行输入n个整数。输出输出占一行。对这n个整数数按照从小到大的顺序输出,数据之间用一个空...原创 2020-02-13 14:58:43 · 553 阅读 · 0 评论 -
ZZULIOJ 1118: 数列有序
1118: 数列有序题目描述一个非递减有序的整型数组有n个元素,给定一个整数num,将num插入该序列的适当位置,使序列仍保持非递减有序。要求定义一个函数insert(),将整数num插入在数组a的适当位置上,函数原型如下:int insert(int a[], int n, int num);另外函数仍然调用以前定义过的函数PrintArr()输出数组所有元素。输入输入有三行。第一...原创 2020-02-13 13:38:50 · 1355 阅读 · 0 评论 -
ZZULIOJ 1117: 查找数组元素
1117: 查找数组元素题目描述输入n个整数构成一个数组,在这个数组中查找x是否存在,如果存在,删除x,并输出删除元素后的数组。如果不存在,输出“Not Found”。定义一个查找函数find(),在数组a中查找x,若找不到函数返回-1,若找到返回x的下标,函数原型如下:int find(int a[], int n, int x);然后在main()中,先调用函数find(),若查找失...原创 2020-02-12 23:37:14 · 1212 阅读 · 0 评论 -
ZZULIOJ 1116: 删除元素
1116: 删除元素题目描述输入一个递增有序的整型数组A有n个元素,删除下标为i的元素,使其仍保持连续有序。注意,有效下标从0开始。 定义如下两个函数分别实现删除元素操作和数组输出操作。void del(int a[], int n, int i); /删除数组a中下标为i的元素/void PrintArr(int a[], int n); /输出数组a的前n个元素/输入输入分三行,...原创 2020-02-12 23:12:29 · 1117 阅读 · 0 评论 -
ZZULIOJ 1113: 递归调用的次数统计(函数专题)
1113: 递归调用的次数统计(函数专题)题目描述如下程序的功能是计算 Fibonacci数列的第n项。函数fib()是一个递归函数。请你改写该程序,计算第n项的同时,统计调用了多少次函数fib(包括main()对fib()的调用)。#include<stdio.h>int fib(int k);int main(void ){int n;scanf("%d", &am...原创 2020-02-12 22:35:32 · 328 阅读 · 0 评论 -
ZZULIOJ 1112: 进制转换(函数专题)
1112: 进制转换(函数专题)题目描述输入一个十进制整数n,输出对应的二进制整数。常用的转换方法为“除2取余,倒序排列”。将一个十进制数除以2,得到余数和商,将得到的商再除以2,依次类推,直到商等于0为止,倒取除得的余数,即为所求的二进制数。例如,把52换算成二进制数的计算过程如下图:52除以2得到的余数依次为0,0,1,0,1,1,倒序排列,得到52对应的二进制数110100。用递归...原创 2020-02-12 22:09:53 · 362 阅读 · 0 评论 -
ZZULIOJ 1111: 多个整数的逆序输出(函数专题)*
1111: 多个整数的逆序输出(函数专题)题目描述输入n和n个整数,以与输入顺序相反的顺序输出这n个整数。要求不使用数组,而使用递归函数实现。递归函数实现过程如下:void inverse(int n){if(n >1){(1) 读入一个整数,存入num;(2) 将后面的n-1个数逆序输出: inverse(n-1);(3) 输出num;}if( n == 1) ...原创 2020-02-12 19:29:50 · 344 阅读 · 0 评论 -
ZZULIOJ 1110: 最近共同祖先(函数专题)
1110: 最近共同祖先(函数专题)题目描述如上图所示,由正整数1, 2, 3, …组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1 的结点)都有一条唯一的路径,比如从10 到根结点的路径是(10, 5, 2, 1), 从4 到根结点的路径是(4, 2, 1),从该结点到根结点的路径上的所有结点称为该结点的祖先。现在的问题就是,给定x 和y,求x和y的最近共同祖先,比如,10和4最近共...原创 2020-02-12 12:27:05 · 345 阅读 · 0 评论 -
ZZULIOJ 1109: 数根(函数专题)
1109: 数根(函数专题)题目描述输入一个正整数,输出该数的数根。数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24来说,把2和4相加得到6,由于6是一位数,因此6是24的数根。再比如39,把3和9加起来得到12,由于12不是一位数,因此还得...原创 2020-02-12 12:14:41 · 407 阅读 · 0 评论 -
ZZULIOJ 1106: 回文数(函数专题)
1106: 回文数(函数专题)题目描述一个正整数,如果从左向 右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。输入两个整数m和n(m<n),输出区间[m,n]之间的回文数。输入输入两个正整数m和n,输入保证m<n。输出按从小到大的顺序,输出m到n之间的回文数,每个数后面有一个空格。样例输入100 200样例输出101 111 121 1...原创 2020-02-11 19:33:04 · 773 阅读 · 0 评论 -
ZZULIOJ 1105:判断友好数对(函数专题)
1105: 判断友好数对(函数专题)题目描述输入两个正整数m和n,顺序输出m到n之间的所有友好数对。如果两个整数的所有正因子之和(包括1,不包括自身)等于对方,就称这对数是友好的。例如:1184和1210是友好数对,因为1184的因子之和为1+2+4+8+16+32+37+74+148+296+592=12101210的因子之和1+2+5+10+11+22+55+110+121+242+...原创 2020-02-11 18:41:38 · 810 阅读 · 0 评论 -
ZZULIOJ 1104: 求因子和(函数专题)
1104: 求因子和(函数专题)题目描述输入正整数n(2<=n<=1000),计算并输出n的所有正因子(包括1,不包括自身)之和。要求程序定义一个FacSum ()函数和一个main()函数,FacSum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。int FacSum(int n){//计算n的所有正因子(包括1,不包括自身)之和sum,本函数返...原创 2020-02-11 17:32:25 · 886 阅读 · 0 评论 -
ZZULIOJ 1103:平均学分绩点(函数专题)
1103: 平均学分绩点(函数专题)题目描述平均学分绩点(Grade Point Average,即GPA)是以学分与绩点作为衡量学生学习的量与质的计算单位,以取得一定的学分和平均学分绩点作为毕业和获得学位的标准,实施多样的教育规格和较灵活的教学管理制度。大学里每一门课程都有一定的学分。只有通过这门课的考试,才能获得相应的学分。课程绩点的计算方法通常是:(百分制成绩-50)/10 取整。成绩...原创 2020-02-11 17:02:16 · 744 阅读 · 0 评论 -
ZZULIOJ 1057: 素数判定
题目描述输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。输入输入一个正整数n(n<=1000)输出如果n是素数输出"Yes",否则输出"No"。输出占一行。样例输入2样例输出Yes(C语言代码)#include<stdio.h>#include<math.h>int main(){ int n,flag=0,i; scanf("%d",&n); for(i=2;i<=sqrt(n);i++)原创 2020-06-24 19:13:00 · 558 阅读 · 0 评论 -
ZZULIOJ 1056:幸运数字
题目描述小明对某些数字有偏爱,例如,他喜欢7的倍数,而不喜欢4的倍数,如果一个整数是7的倍数,而不是4的倍数,小明会认为这个数字是他的幸运数字。现在给定两个整数m和n,请你帮小明找m到n范围内的最大的幸运数字。如果m到n范围内没有幸运数字,则输出“no”输入两个正整数m和n(m < =n,且均小于10的9次方)输出一个整数,即m到n范围内的最大的幸运数字。样例输入90 100样例输出98(C语言代码)#include<stdio.h>int main(){原创 2020-06-24 18:29:48 · 642 阅读 · 0 评论 -
ZZULIOJ 1055: 兔子繁殖问题
题目描述这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律,假设没有兔子死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?输入输入月数n(1<=n<=44)。输出输出第n个月有多少对兔子。样例输入3样例输出2提示本题是一个经典的递推入门题目: 用f(n)表示第n个月的兔子数目,则: f(n) = f(n-1) + 本月新生兔子数 而,本月原创 2020-06-24 15:41:19 · 387 阅读 · 0 评论 -
ZZULIOJ 1054: 猴子吃桃
题目描述悟空第一天摘下桃子若干,当即吃掉一半,还不过瘾,又多吃一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?输入输入一个数n(1<=n<=30)。输出输出第一天的桃子个数。样例输入3样例输出10(C语言代码)#include<stdio.h>int main(){ int n,num=1,i; scanf("原创 2020-06-24 15:00:48 · 316 阅读 · 0 评论 -
ZZULIOJ 1053: 正弦函数
题目描述输入x,计算上面公式的前10项和。输入输入一个实数x。输出输出一个实数,即数列的前10项和,结果保留3位小数。样例输入1样例输出0.841(C语言代码)#include<stdio.h>int main(){ double x,a,b,d,sum=0; int i,j,flag=1; scanf("%lf",&x); for(i=1;i<=10;i++) { a=1.0; //**原创 2020-06-23 23:16:43 · 741 阅读 · 0 评论 -
ZZULIOJ 1052: 数列求和4 *
题目描述输入n和a,求a+aa+aaa+…aa…a(n个a),如当n=3,a=2时,2+22+222的结果为246输入包含两个整数,n和a,含义如上述,你可以假定n和a都是小于10的非负整数输出输出前n项和,单独占一行样例输入3 2样例输出246(C语言代码)#include<stdio.h>int main(){ int n,a,sum=0,i,temp=0; scanf("%d%d",&n,&a); for(i=0;i<原创 2020-06-23 22:58:09 · 291 阅读 · 0 评论 -
ZZULIOJ 1051: 平方根的和
题目描述数列的定义如下:数列的第一项为item,以后各项为前一项的平方根,求数列的前n项的和。输入由两个整数item(item<10000)和n(n<1000)组成,item和n的含义如前所述。输出输出该数列的和,占一行,要求精度保留2位小数。样例输入84 4样例输出97.93(C语言代码)#include<stdio.h>#include<math.h>int main(){ int n,i,item; scanf("%d原创 2020-06-23 22:48:23 · 668 阅读 · 1 评论 -
ZZULIOJ 1050: 阶乘的累加和 *
题目描述求1! + 2! + ……n!输入输入一个整数n,你可以假定n不大于10。输出输出一个整数,即阶乘累加的结果,单独占一行。样例输入4样例输出33(C语言代码)#include<stdio.h>int main(){ int n,i,j,s,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { s=1; for(j=1;j<=i;j++)原创 2020-06-23 22:37:14 · 311 阅读 · 0 评论