习题
小残梦
已经投资了什么并不重要,重要的是现在的形势以及你对未来的评估
展开
-
尾部的零
2.尾部的零中文English设计一个算法,计算出n阶乘中尾部零的个数样例样例 1: 输入: 11 输出: 2 样例解释: 11! = 39916800, 结尾的0有2个。样例 2: 输入: 5 输出: 1 样例解释: 5! = 120, 结尾的0有1个。挑战O(logN)的时间复杂度输入测试数据(每行一个参数)如何理解测试数据?这道题重点就是时间开销,怎么做到o(logN),最简单的思路直接算出数来,那个时间复杂度是n!然后稍微..原创 2021-01-04 13:20:55 · 83 阅读 · 0 评论 -
完美数列
题目描述给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列。现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入描述:输入第一行给出两个正整数N和p,其中N(<= 105)是输入的正整数的个数,p(<= 109)是给定的参数。第二行给出N个正整数,每个数不超过109。输出描述:...原创 2019-01-10 22:01:57 · 144 阅读 · 0 评论 -
科学计数法
题目描述科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[±][1-9]"."[0-9]+E[±][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。输入描述:每个输入包含1个测试用例,即一个以科学计数法表示...原创 2019-01-05 18:12:14 · 4273 阅读 · 0 评论 -
指针习题11
题目:在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。第一种方法用字符型二维数组#include&lt;stdio.h&gt;#include&lt;string.h&gt;int main(){void sort(char s[][6]); int i; char str[10][6]; //p是指向6个元素组成的一维...原创 2018-12-25 15:09:50 · 229 阅读 · 0 评论 -
指针习题10(答案版)
感觉接下来的几道指针习题的难度上来了,楼主已经搞不出来了,,,所以第11题(下一篇)改为研究答案了。。。链接 题目和楼主的方法答案的方法代码在这里插入代码片...原创 2018-12-25 07:37:37 · 193 阅读 · 0 评论 -
组个最小数
代码a=input().split()b=[None]*50m=0n=0if(a[0]==0): for i in range(0,10): j=0 for j in range(0,int(a[i])): b[m]=i ...原创 2019-01-03 18:57:26 · 149 阅读 · 0 评论 -
指针习题10
题目:将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。有几天没写C了,有点忙,快要考试了,也正在学python和链码原创 2018-12-18 20:35:07 · 199 阅读 · 0 评论 -
期末考试题C语言
楼主的代码搞了两个多小时,发现直接写代码真不是个好习惯。。。。先思考,想明白 ,再去实现。。。#include<stdio.h>int main(){ int b[4],c[4]={0},a[19]={0,20,4,10,6,10,4,0,0,20,5,3,0,5,8,3,4,3,10}; int i,j,m,n[4],p,q; printf("请按顺序输入每组家庭...原创 2018-12-23 22:34:22 · 7066 阅读 · 3 评论 -
指针习题4(答案版)
答案和楼主的代码各有千秋吧题目及楼主的代码答案的代码#include<stdio.h>int main(){void move(int [20],int ,int );int number[20],n,m,i;printf("how many numbers?");// 问共有多少个数 scanf("%d",&n);printf("input %d numbe...原创 2018-12-11 19:44:44 · 251 阅读 · 0 评论 -
德才论
题目描述宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入描述:输入第1行给出3个正整数,分别为:N(<=105),即考生总数;L(>=60),为录取最低分数线,即德分和才分...原创 2018-12-27 21:05:14 · 1390 阅读 · 1 评论 -
指针习题4(楼主力荐)
4,有n个整数,使前面个数顺序向后移m个位置,最后m个数变成最前面m个数,见下图。写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个整数。最好自己尝试一下。。。要用指针实现,,,楼主的代码...原创 2018-12-10 22:46:26 · 141 阅读 · 1 评论 -
查验身份证
题目描述一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现...原创 2019-01-11 15:29:01 · 155 阅读 · 0 评论 -
月饼
题目描述月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部...原创 2019-01-02 18:42:58 · 98 阅读 · 0 评论 -
有理数四则运算(20)
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)题目描述本题要求编写程序,计算2个有理数的和、差、积、商。输入描述:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0。输出描述:分别在4行中按照“有理数1 运算符 ...原创 2019-01-23 14:52:25 · 799 阅读 · 0 评论 -
统计同成绩学生
本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入描述:输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。输出描述:在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。示例1输入1060...原创 2019-01-15 13:11:51 · 229 阅读 · 1 评论 -
旧键盘
题目描述旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入描述:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。输出描述:按照发现顺序,在一行中...原创 2019-01-09 14:03:17 · 353 阅读 · 0 评论 -
在霍格沃茨找零钱
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。输入描述:输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里Ga...原创 2019-01-14 15:25:15 · 180 阅读 · 0 评论 -
人口普查
题目描述某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入描述:输入在第一行给出正整数N,取值在(0, 105];随后N行,每行给出1个人的姓名(由不超过5个英文字母...原创 2019-01-08 16:35:06 · 298 阅读 · 0 评论 -
旧键盘打字
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入描述:输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10^5个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键...原创 2019-01-13 16:29:18 · 380 阅读 · 0 评论 -
进制转换
代码a,b,c=input().split()s=int(a)+int(b)i=0d=[0]*8000while s>0: d[i]=s%int(c) s=s//int(c) i=i+1n=is=0for i in range(n-1,-1,-1): s=s+(10**i)*d[i]print(s)...原创 2019-01-03 14:38:57 · 105 阅读 · 0 评论 -
正方形
输入描述:输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格。输出描述:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。#include<stdio.h>int main(){int n,i,k,j; char c; scan...原创 2019-01-07 18:09:03 · 1379 阅读 · 0 评论 -
巧用数组
题目描述为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入描述:输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号、及其比赛成绩(百分制),中间以空格分隔。输出描述:在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列...原创 2019-01-12 12:11:37 · 161 阅读 · 0 评论 -
各位数统计
代码n=list(input())a=[0]*10i=0for i in range (0,len(n)): if(n[i]=='0'): a[0]=a[0]+1 elif(n[i]=='1'): a[1]=a[1]+1 elif(n[i]=='2'): ...原创 2019-01-02 20:17:23 · 123 阅读 · 0 评论 -
指针习题8(答案版)
链接 题目及楼主的方法答案的代码#include<stdio.h>int main(){int upper=0,lower=0,digit=0,space=0,other=0,i=0; char *p,s[20]; printf("input string: "); while((s[i]=getchar())!='\n') {i++;} p=&s[0];...原创 2018-12-16 18:52:41 · 499 阅读 · 0 评论 -
指针习题7答案版
链接 题目及楼主的方法答案的代码#include<stdio.h>#include<string.h>int main(){void copystr(char*,char*,int);int m;char str1[20],str2[20];printf("input string:");gets(str1);printf("which charact...原创 2018-12-16 11:59:30 · 450 阅读 · 0 评论 -
指针习题9
题目:写一函数,将一个3*3的整型矩阵转置。楼主第一眼看到此题 心情如下什么是矩阵转置说白了不就是行列换一下吗?不多废话了,,,代码如下...原创 2018-12-16 11:27:25 · 506 阅读 · 0 评论 -
指针习题6(答案版)
题目及楼主的方法答案的代码#include<stdio.h>int main(){int length(char *p); int len; char str[20]; printf("input string: "); scanf("%s",str); len=length(str); printf("The length of string is %d.\n"...原创 2018-12-12 21:21:46 · 408 阅读 · 0 评论 -
指针习题6
6.写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。#include&lt;stdio.h&gt;int n; int main(){char s[80];void length(char*p); printf("please enter array:\n"); gets(s); length(s); printf("The length of this ...原创 2018-12-12 21:13:17 · 204 阅读 · 0 评论 -
指针习题5(答案版)
题目及楼主的方法只能说答案就是答案,只能说太漂亮了,代码#include<stdio.h>int main(){int i,k,m,n,num[50],*p; printf("\ninput number of person:n="); scanf("%d",&n); p=num; for(i=0;i<n;i++) {*(p+i)=i+1; //以1...原创 2018-12-12 17:04:51 · 253 阅读 · 0 评论 -
指针习题5 (有点意思的题目)
#include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;int main(){int n,i,j,k=1,m=0,x=1,y=0; printf(&amp;amp;quot;please intput n:&amp;amp;quot;); scanf(&amp;amp;quot;%d&amp;amp;quot;,&amp;amp;amp;amp;n);原创 2018-12-12 16:35:20 · 233 阅读 · 0 评论 -
一道关于树的数组题。。。
题目有点长,直接给图片了。。。有兴趣的可以自己先尝试一下,原创 2018-12-05 17:27:13 · 163 阅读 · 0 评论 -
数组习题1
分享一道习题1(15分)编程:输入一行字符,统计其中有多少个单词,单词之间用空格,逗号,或句号分隔开。输入:一行字符,长度不超过254个,由英文的空格,逗号,句号和字母组成。输出:包含的单词数输入样例1:Life is a journey, not a destination.输出样例1:7输入样例2: (测试有大写字母的句子)HELLO WORLD.输出样例2:2...原创 2018-12-08 15:21:31 · 225 阅读 · 0 评论 -
指针习题2
题目输入3个字符串,按由小到大的顺序输出。楼主的方法#include<stdio.h>#include<string.h>int main(){ char s1[60],s2[60],s3[60]; char *p1,*p2,*p3,*p; printf("please enter array:\n"); gets(s1); gets(...原创 2018-12-07 23:24:30 · 159 阅读 · 0 评论 -
输入n个数,输出它们的和及平均值
好吧,我承认,紧接着我就写出了改进版,有人可能会说,你为啥不把两个写在一篇文章中,我就不说了,其中的原因你懂的,,, 流程图其实就是用了我个do{ } while(getchar()!=’\n’)(自从发现了这个可以输入不定的n个整数的方法,我发现以前写的好多程序都可以改进了,哈哈哈)哦,对了 ,流程图有一处错误,有兴趣的可以找一下,没兴趣的就。。。。但是代码是正确的。代码之后我会揭...原创 2018-12-05 12:32:44 · 21236 阅读 · 1 评论 -
输入20个整数,输出它们的和及平均值
这道题并不是很难,但是作为一道作业题,对初学c的人,也不失为一道不错的练习数组题目,老规矩,先放上流程图,(那个 Y,N是没处理好,不要在意)其实只是为了练手。。。放个代码#include<stdio.h>int main(){int a[20],i,sum=0; float aver; printf("please enter 20 numbers:\n"); f...原创 2018-12-05 12:20:21 · 10024 阅读 · 0 评论 -
冒泡排序
冒泡排序,本着培养思维的目的,笔者特地花了一个多小时做了流程图。。。。推荐一款制作流程图工具----迅捷画图,感觉还可以,(第一次用)。好了,废话少说,进入正题了冒泡排序,是众多排序算法中的一种,然后。。。编不下去了,算了直接流程图走起感觉还可以吧,有什么不妥的地方请多多指教。顺便插一句(做完流程图我的是导出png格式)流程图写的这么详细,代码都可以看着直接打了。。。一波自恋中。。。...原创 2018-12-04 22:42:55 · 10637 阅读 · 1 评论 -
指针作业1(非常简单)
题目编写一个函数实现两个数的交换,函数原型为:void Swap(int *a,int *b)。楼主的代码#include&lt;stdio.h&gt;int main(){void swap(int *a,int *b);//函数声明 int a,b; //定义两个整型变量用来储存输入的数 printf("please input a,b:\n"); scanf("%...原创 2018-12-13 15:58:12 · 634 阅读 · 2 评论 -
指针习题1
1输入3个整数,按由小到大的顺序输出。用指针方法处理楼主的方法#include<stdio.h>int main(){int a,b,c,i; int *p1,*p2,*p3,*p; printf("please enter 3 numbers:"); scanf("%d%d%d",&a,&b,&c); p1=&a; p2=&...原创 2018-12-06 21:52:26 · 607 阅读 · 0 评论 -
福尔摩斯的密码
代码#include<stdio.h>#include<string.h>int main(){char a[60],b[60],c[60],d[60],e[3]; int n,flag=0,i; gets(a); gets(b); gets(c); gets(d); if(strlen(a)>strlen(b)) {n=strlen(b);...原创 2018-12-26 19:04:33 · 2712 阅读 · 0 评论 -
指针习题
3,输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:1)输入10个数;2)进行处理;3)输出10个数。用指针方法处理楼主的代码#include&lt;stdio.h&gt;int *p,s[10],*p1;void input(int *p){int i=0; printf("please input 10 numbers:\n"); fo...原创 2018-12-10 13:14:50 · 562 阅读 · 0 评论