- 博客(149)
- 收藏
- 关注
原创 zzulioj:1125
题目描述编写程序,输入一个正整数n(1<=n<=10)和n阶方阵a中的元素,如果a是上三角矩阵,输出“YES”,否则,输出“NO”。上三角矩阵即主对角线以下(不包括主对角线)的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。要求定义函数IsUpperTriMatrix()判断矩阵a是否是上三角矩阵,如果是返回1,否则返回0。函数原型如下:int IsUpperTriMatrix(int a[][N], int n);输入输入一个正整数n(1<=n<=10)和n
2021-12-23 09:29:44
506
原创 zzulioj:1126: 布尔矩阵的奇偶性
题目描述一个布尔方阵具有奇偶均势特性,当且仅当 每行、每列总和为偶数,即包含偶数个1。如下面这个4*4的矩阵就具有奇偶均势特性:1 0 1 00 0 0 01 1 1 10 1 0 1编写程序,读入一个n阶方阵并检查它是否具有奇偶均势特性。如果没有,你的程序应当再检查一下它是否可以通过修改一位(把0改为1,把1改为0)来使它具有奇偶均势特性;如果不可能,这个矩阵就被认为是破坏了。输入第一行是一个整数n ( 0< n < 100 ),代表该方阵的阶数。然后输入n 行,每行.
2021-12-21 09:12:23
335
原创 zzulioj:1124: 两个有序数组合并
题目描述已知数组a中有m个按升序序排列的元素,数组b中有n个降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。输入输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m, n均小于等于1000000。输出输出合并后的m+n个整数,数据之间用空格隔开。输出占一行。样例输入Copy4 1 2 5 73 6 4 2样例输出Copy7 6 5 4 2 2 1试图排序的孩子们要小心...
2021-12-19 10:07:58
417
原创 zzulioj1123
题目描述北京校友会每年举办两次,所有校友都有校友编号,每次到会的校友都在签到簿上写下自己的编号和姓名,在校友会成立5周年的聚会上将颁发“最佳校友奖”,该奖项颁发给到会次数最多的校友。现在请你编写程序,找出这个奖项的得主。若有多个校友并列第一,则均可获奖。输入输入若干个整数,表示签到簿上的校友编号,所有编号均为0~99的整数,以一个负数作为输入结束的标志。输出输出出现次数最多的编号。若获奖选手有多个,则按从小到大的顺序输出选手编号,用空格隔开。样例输入Copy4 5 3 1...
2021-12-16 22:41:12
177
原创 zzulioj:1122: 小明的调查作业
题目描述小明的老师布置了一份调查作业,小明想在学校中随机找N个同学一起做一项问卷调查,聪明的小明为了实验的客观性,他先随机写下了N个1到1000之间的整数(0<N≤1000),不同的数对应着不同的学生的学号。但他写下的数字难免会有重复数字,小明希望能把其余重复的数去掉,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入输入有2行,第1行为1个正整数,表示整数的个数:N.第2行有N个用空格隔开的正整数,表示小明写下的N个整数。输出
2021-12-15 23:16:45
212
原创 zzulioj:1121: 电梯
#include<stdio.h>void print(int a[], int n){ int i, j, b=0; b=b+a[0]*6+5; for(i=1;i<n;i++) { if(a[i]>a[i-1]) b=b+(a[i]-a[i-1])*6+5; else if(a[i]==a[i-1]) b=b+5; else b=b+(a[i-1]-a[i])*4+5; } printf("%d\n",b);...
2021-12-12 14:16:52
3984
原创 zzulioj:1120: 最值交换
题目描述有一个长度为n的整数序列。请写一个程序,先把序列中的最小值与第一个数交换,再把最大值与最后一个数交换。输出转换好的序列。 分别编写两个函数MinIndex()和MaxIndex()来计算最小值下标和最大值下标。int MinIndex(int a[], int n); //函数返回数组a中最小元素的下标int MaxIndex(int a[], int n); //函数返回数组a中最大元素的下标数组元素的输出调用函数PrintArr()。输入输入包括两行。第一行为正整数..
2021-12-12 10:48:52
379
原创 zzulioj:1119: 一维数组排序
题目描述对一维数组按照从小到大的顺序排序。程序定义函数sort()来实现数组a的排序。函数原型如下:int sort(int a[], int n);数组元素的输出调用PrintArr()。输入第一行输入一个整数n(1<=n<=10),表示数组有n个整数;第二行输入n个整数。输出输出占一行。对这n个整数数按照从小到大的顺序输出,数据之间用一个空格隔开。样例输入66 5 1 2 3 4样例输出1 2 3 4 5 6#include<stdio.h.
2021-12-09 21:05:28
432
原创 ZZULIOJ:1118数列有序(数组专题)
题目描述一个非递减有序的整型数组有n个元素,给定一个整数num,将num插入该序列的适当位置,使序列仍保持非递减有序。要求定义一个函数insert(),将整数num插入在数组a的适当位置上,函数原型如下:int insert(int a[], int n, int num);另外函数仍然调用以前定义过的函数PrintArr()输出数组所有元素。输入输入有三行。第一行是一个正整数n,n<=1000。第二行是n个整数,第三行是待插入整数num。输出输出非递减有序的n+1个整数,数
2021-12-08 22:02:18
313
原创 zzulioj:1117: 查找数组元素
题目描述输入n个整数构成一个数组,在这个数组中查找x是否存在,如果存在,删除x,并输出删除元素后的数组。如果不存在,输出“Not Found”。定义一个查找函数find(),在数组a中查找x,若找不到函数返回-1,若找到返回x的下标,函数原型如下:int find(int a[], int n, int x);然后在main()中,先调用函数find(),若查找失败输出“Not Found";若查找成功,则调用上一题中定义的函数del()删除该元素,再调用上一题中的PrintArr()输出删除元素后
2021-12-08 21:35:23
324
原创 zzulioj:1116: 删除元素
题目描述输入一个递增有序的整型数组A有n个元素,删除下标为i的元素,使其仍保持连续有序。注意,有效下标从0开始。 定义如下两个函数分别实现删除元素操作和数组输出操作。void del(int a[], int n, int i); /*删除数组a中下标为i的元素*/void PrintArr(int a[], int n); /*输出数组a的前n个元素*/输入输入分三行,第一行是一个整数n(n<10),第二行是n个整数,第三行是要删除元素的下标i,i>=0。输出输出删除.
2021-12-07 22:30:55
188
原创 一个小程序 结合现学的知识 学生的成绩排序即输出
#include<stdio.h>#include<malloc.h>struct student{ char name[100]; int age; float score;};int main(){ int len; int i,j; struct student *pArr; struct student t; printf("请输入学生的个数:\n");//提示 printf("len = .
2021-12-07 17:54:57
206
原创 zzulio1115: 数组最小值
题目描述数组a有n个元素,请输出n个元素的最小值及其下标。若最小值有多个,请输出下标最小的一个。注意,有效下标从0开始。输入输入分两行,第一行是一个正整数n(n<=1000),第二行是n个整数。输出输出占一行。输出数组的最小值及其下标,用空格隔开。样例输入Copy58 4 5 1 2样例输出Copy1 3#include<stdio.h>int main(){ int n; int a[1000]; int..
2021-12-06 22:02:52
225
原创 zzulioj:1114: 逆序
题目描述输入n(1<=n<=10)和n个整数,逆序输出这n个整数。输入输入n(1<=n<=10),然后输入n个整数。输出逆序输出这n个整数,每个整数占4列,右对齐。样例输入Copy64 5 6 1 2 3 样例输出Copy 3 2 1 6 5 4#include<stdio.h>int main(){ int a[10],n; int i ; scanf("%d",..
2021-12-06 22:00:16
437
原创 zzulioj:1113: 递归调用的次数统计(函数专题)
题目描述如下程序的功能是计算 Fibonacci数列的第n项。函数fib()是一个递归函数。请你改写该程序,计算第n项的同时,统计调用了多少次函数fib(包括main()对fib()的调用)。#include<stdio.h>int fib(int k);int main(){ int n; scanf("%d", &n); printf("%d\n", fib(n)); return 0;}int fib(int k){ i...
2021-12-06 15:41:04
3985
原创 zzulioj:1112: 进制转换(函数专题)
题目描述输入一个十进制整数n,输出对应的二进制整数。常用的转换方法为“除2取余,倒序排列”。将一个十进制数除以2,得到余数和商,将得到的商再除以2,依次类推,直到商等于0为止,倒取除得的余数,即为所求的二进制数。例如,把52换算成二进制数的计算过程如下图:52除以2得到的余数依次为0,0,1,0,1,1,倒序排列,得到52对应的二进制数110100。用递归的思想来描述上述计算过程是这样的:输出n/2对应的二进制数,然后输入%2。递归函数的实现过程如下:void convert(int n
2021-12-06 15:21:47
170
原创 zzulioj:1111: 多个整数的逆序输出(函数专题)
题目描述输入n和n个整数,以与输入顺序相反的顺序输出这n个整数。要求不使用数组,而使用递归函数实现。递归函数实现过程如下:void inverse(int n){ if(n >1) { (1) 读入一个整数,存入num; (2) 将后面的n-1个数逆序输出: inverse(n-1); (3) 输出num; }if( n == 1) 直接输出num;}输入输入有两行,第一行是一个正整数n,第二行有n个...
2021-12-05 23:36:19
231
原创 zzulioj:1158: 又是排序(指针专题)
题目描述将输入的四个整数按由大到小的顺序输出。请你定义一个四个数排序的函数psort,psort的四个参数为要排序的四个整数变量的地址,请你按照从大到小的顺序把四个数分别放到四个指针所指向的变量里,不要在函数内输入输出任何内容。请务必使用函数实现四个数的排序。void psort( int *pa, int *pb,int *pc,int *pd){ //实现四个数的排序,并分别放到四个指针所指向的变量里。}注意:本题如果采用C/C++提交时,至少要编写psort()函数和mai...
2021-12-03 15:29:55
1057
原创 zzulioj:1110: 最近共同祖先(函数专题)(同样是我第一次使用递归函数的调用)
题目描述如上图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1 的结点)都有一条唯一的路径,比如从10 到根结点的路径是(10, 5, 2, 1),从4 到根结点的路径是(4, 2, 1),从该结点到根结点的路径上的所有结点称为该结点的祖先。现在的问题就是,给定x 和y,求x和y的最近共同祖先,比如,10和4最近共同祖先是2,10和5的最近共同祖先是5。定义递归函数int common(int x, int y){如果x==y, retu.
2021-12-03 14:50:01
425
原创 zzulioj:1095: 时间间隔(多实例测试)
题目描述从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。要求程序定义如下两个函数,并在main()中调用这两个函数实现相应的功能,其中main函数系统已经实现,你只需要完成下面这两个函数的定义。//把时分秒转换成秒并返回,三个参数分别为用于表示一个时间点的时、分、秒int HmsToS(int h, int m, int s);//将时间段转换为对应的“小时:分钟:秒” 格式输出 ,形参s表示一个时间段的长度,单位是秒void Pr..
2021-12-03 14:19:25
409
原创 zzulioj:1109: 数根(函数专题)
题目描述输入一个正整数,输出该数的数根。数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24来说,把2和4相加得到6,由于6是一位数,因此6是24的数根。再比如39,把3和9加起来得到12,由于12不是一位数,因此还得把1和2加起来,最后得到3,这是一个一位数,因此3是39的数根。要求使用函数,定义函数digitSum(int n)求n的各位数字和,其余
2021-12-03 14:18:37
220
原创 zzulioj:1069: 向Z同学学习(今天才发现这一题的答案没有发布成功我补充一下)
题目描述Z同学为了实现暑假去云南旅游的梦想,决定以后每天只消费1元,每花k元就可以再得到1元,一开始Z同学有M元,问最多可以坚持多少天。输入输入2个整数M, k,(2 <= k <= M <= 1000)。输出输出一个整数,表示M元可以消费的天数。样例输入Copy4 3样例输出Copy5#include<stdio.h>int main(){ int k; int m,i,a = 0; scanf..
2021-12-03 14:04:39
697
原创 zzulioj:1108: 打印数字图形(函数专题)(如果一些关于求菱形的知识在这里看不太懂 可以参考我前面发的菱形的编程有详细解释 这里我就不再解释了)
题目描述从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。要求在程序中定义并调用如下函数:PrintSpace(m)用来输出m个空格;PrintDigit(m)来输出一行中的数字串"12...m...21"(该行中的最大数字是m)。函数原型如下:void PrintDigit(int m);voidPrintSpace(int m);对于C/C++代码的提交,本题要求必须通过定义PrintSpace函数、PrintDigit函数和main函数实现,否则,返回编译错误。输入...
2021-12-03 09:12:16
124
原创 空心菱形(易懂) 和 实心菱形的比较记忆
#include<stdio.h>int main(){ int n; int i,j,k; scanf("%d",&n);//此时输入的是上半部分的行数 下半部分的行数比下半部分少一行 故下半部分可以表示为n-1 for(i=1;i<=n;i++)//代表每一行的情况 { for(j=1;j<=n-i;j++)//按照行数依次可知前面空格的个数与行数成 n-i 的关系 pri...
2021-12-02 21:52:04
2459
原创 zzulioj:1106: 回文数(函数专题)
题目描述一个正整数,如果从左向 右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。输入两个整数m和n(m<n),输出区间[m,n]之间的回文数。输入输入两个正整数m和n,输入保证m<n。输出按从小到大的顺序,输出m到n之间的回文数,每个数后面有一个空格。样例输入Copy100 200样例输出Copy101 111 121 131 141 151 161 171 181 191 #include<stdio.h&g..
2021-12-02 20:22:54
3161
原创 zzulioj: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+605=1184要求程序中要定义一个facsum ()函数计算并返回n的所有正因子之和。int facsum (int n){//计算n
2021-12-02 20:04:06
185
原创 zzuiloj:1104: 求因子和(函数专题)
题目描述输入正整数n(2<=n<=1000),计算并输出n的所有正因子(包括1,不包括自身)之和。要求程序定义一个FacSum ()函数和一个main()函数,FacSum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。int FacSum(int n){//计算n的所有正因子(包括1,不包括自身)之和sum,本函数返回sum}输入输入正整数n(2<=n<=1000)。输出输出n的所有正因子(不包括自身)之和。样例输入Co..
2021-12-02 17:49:06
257
原创 zzulioj:1103: 平均学分绩点(函数专题)
题目描述平均学分绩点(Grade Point Average,即GPA)是以学分与绩点作为衡量学生学习的量与质的计算单位,以取得一定的学分和平均学分绩点作为毕业和获得学位的标准,实施多样的教育规格和较灵活的教学管理制度。大学里每一门课程都有一定的学分。只有通过这门课的考试,才能获得相应的学分。课程绩点的计算方法通常是:(百分制成绩-50)/10 取整。成绩100,对应绩点为5,成绩90~99对应绩点为4,......,成绩60~69对应绩点为1,成绩小于60,对应绩点为0。平均学分绩点的计算方法
2021-12-02 17:41:18
279
原创 zzulioj:1102: 火车票退票费计算(函数专题)
题目描述2013年起,火车票退票费比例下调:票面乘车站开车时间前48小时以上的按票价5%计退票费。同时,车票退票费的计算方法不再四舍五入到元为单位,而是以5角为单位:尾数小于0.25元的舍去、不小于0.25元且小于0.75元的计为0.5元、不小于0.75元的进为1元。编写一个函数,计算退票费,假定退票时间距离开车时间在48小时以上。函数原型如下:double CancelFee(double price);本题如果是C/C++代码提交,只需要提交CancelFee函数的定义部分,提交其它内容,编
2021-12-01 21:48:39
176
原创 zzulioj:1101: 逆序数字(函数专题)
题目描述输入一个正整数n,计算n的逆序数m,输出m与n的和。要求程序定义一个inverse()函数和一个main()函数,inverse()函数接收一个整数值,返回这个数中数字逆序后的结果值。例如,给定数7631,函数返回1367 。int inverse(int n){//计算并返回n的逆序数字}本题如果是C/C++代码提交,只需要提交inverse函数的定义部分,提交其它内容,编译出错。输入一个正整数n,输入保证计算结果在int范围内。输出输出一个整数,n与n的逆序数的和。
2021-12-01 21:13:28
215
原创 zzulioj:1100: 求组合数(函数专题)
题目描述马上要举办新生程序设计竞赛了,与以往不同的是,本次比赛以班为单位,为了全面衡量一个班级的整体水平,要求从一个班的m位同学中任选k位同学代表本班参加比赛,问有多少种组合方案。在计算组合方案时会用到计算阶乘的运算,要求编写函数fact(),实现求一个数的阶乘功能,函数原型如下。int fact(int n);//计算n的阶乘并返回 对于C/C++代码的提交,本题要求必须通过定义fact函数和main函数实现,否则,提交编译错误,要提交完整的程序。输入输入两个正整数m,k,k<...
2021-12-01 17:27:53
630
原创 zzulioj:1099: 角谷猜想(多实例测试)
题目描述任何一个自然数,如果是偶数,就除以2,如果是奇数,就乘以3再加1。最后,经过若干次迭代得到1。也就是说,不管怎样迭代,不断除以2以后,最后是1。现在给你一个自然数n,求出它转变为1所需要的步数。输入输入数据有多组,每组输入包含一个自然数n。测试数据保证输入数据及中间结果都在int范围内。输出对每组输入,输出经过角谷猜想变成1的步数。样例输入Copy511样例输出Copy514#include<stdio.h>int main()..
2021-12-01 17:07:02
340
原创 zzulioj:1098: 复合函数求值(函数专题)
题目描述求复合函数F(G(x)),其中函数F(x)=|x-3|+|x+1|,函数G(x)=x^2-3x。要求编写函数funF()和funG()分别求F(x)和G(x),其余功能在main()中实现。double funF(double x){//函数返回F(x)的值;}double funG(double x){//函数返回G(x)的值;}本题如果是C/C++代码提交,只需要提交funF和funG函数的定义部分,提交其它内容,编译出错。输入输入一个实数x。输出输出复合
2021-11-30 17:52:21
215
原创 zzulioj:1097: 计算平均成绩(函数专题)
题目描述输入某位同学各门课的成绩,输出平均成绩。输入的成绩均为五级制成绩,五级制成绩转换为百分之成绩的规则如下:'A'转换为百分之成绩为95分,'B'对应85分,C对应75分,'D'对应65分,'E'对应40分。 输出的平均成绩为一个实数,保留1位小数。要求程序定义一个getScore()函数和一个main()函数,getScore()函数返回一个等级对应的分数,其余功能在main()函数中实现。int getScore(char g){//把等级g转换成对应的分数并返回这个分数。}...
2021-11-30 14:15:41
460
原创 zzulioj:1096: 水仙花数(函数专题)
题目描述春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。现在要求输出所有在m和n范围内的水仙花数。要求程序定义一个narcissus()函数和一个main()函数,narcissus()函数判断一个整数n是否为水鲜花数,其余功能在main()函数中实现。int narcissus(int n) { //判断n是否为水仙花...
2021-11-29 16:32:16
635
原创 zzulioj:1094: 统计元音(函数专题)
题目描述输入一个字符串,统计其中元音字母的个数。要求使用函数vowel()用来判断是否为元音,其余功能在main()函数中实现。int vowel(char ch){ //如果ch是元音,返回1,否则返回0}本题如果是C/C++代码提交,只需要提交vowel函数的定义部分,提交其它内容,编译出错。输入输入一个字符串,长度不超过1000,以回车符结束。输出输出一个整数,表示元音字母个数。输出单独占一行。样例输入CopyHello wor...
2021-11-28 18:00:14
508
原创 输入年月日,判断这一天是这一年的第几天
#include<stdio.h>1.输入年月日,判断这一天是这一年的第几天int main(){ int year,month,day; int days = 0; scanf("%d%d%d",&year,&month,&day); days += day; switch(month) { case 12: days+=30; case 11: days+=31; case 10: days+=30; case 9: ...
2021-11-27 22:04:20
874
原创 zzulioj:1093: 验证哥德巴赫猜想(函数专题)
题目描述哥德巴赫猜想大家都知道一点吧。我们现在不是想证明这个结论,而是对于任给的一个不小于6的偶数,来寻找和等于该偶数的所有素数对。做好了这件实事,就能说明这个猜想是成立的。要求程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main()函数中实现。int prime(int n){//判断n是否为素数, 若n为素数,本函数返回1,否则返回0}对于C/C++代码的提交,本题要求必须通过定义prime函数和main函数实现,否则,提
2021-11-26 17:14:09
158
原创 zzulioj:1092: 素数表(函数专题)
题目描述输入两个正整数m和n,输出m和n之间的所有素数。要求程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main()函数中实现。int prime(int n){//判断n是否为素数, 若n为素数,本函数返回1,否则返回0}对于C/C++代码的提交,本题要求必须通过定义prime函数和main函数实现,否则,提交编译错误,要提交完整的程序。输入输入两个正整数m和n,m<=n,且都在int范围内。...
2021-11-26 15:39:05
1020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人