![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言算法
文章平均质量分 55
斗 鹰
涉及JavaEE,数据结构与算法以自己平时写代码一些bug。
展开
-
计算鞍点
描述:给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。11 3 5 6 912 4 7 8 1010 5 6 9 118 6 4 7 215 10 11 20 25输入:输入包含一个5行5列的矩阵输...原创 2019-05-20 10:41:35 · 977 阅读 · 0 评论 -
大整数减法
描述:求两个大的正整数相减的差。输入:共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。输出:一行,即所求的差。样例输入:99999999999999999999999999999999999999999999999999样例输出:9999999999999999999999990000...原创 2018-12-20 18:06:23 · 616 阅读 · 1 评论 -
大整数加法
描述:求两个不超过200位的非负整数的和。输入:有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。输出:一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。样例输入:2222222222222222222233333333333333333333样例输出:55555555555555555...原创 2018-12-19 16:25:08 · 484 阅读 · 4 评论 -
画矩形
描述:根据参数,画出矩形。输入:输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。输出:输出画出的图形。样例输入:7 7 @ 0样例输出:@@@@@@@@ ...原创 2018-12-11 22:22:29 · 5748 阅读 · 1 评论 -
求出e的值
描述:利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。输入:输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。输出:输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。提示:1、e以及n!用double表示2、要输出浮点数、双精度数小数点后10位数字,可...原创 2018-12-11 21:43:59 · 7579 阅读 · 1 评论 -
统计满足条件的4位数个数
描述:给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。输入:输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n <= 100)输出:输出为一行,包含一个整数,表示满足条件的四位数的个数。样例输入:51234 13...原创 2018-12-11 22:07:31 · 5390 阅读 · 0 评论 -
求分数序列和
描述:有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中qi+1= qi+ pi, pi+1=qi, p1= 1, q1= 2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。求这个分数序列的前n项之和。输入:输入有一行,包含一个正整数n(n <= 30)。输出:输出有一行,包含一个浮点数...原创 2018-12-10 12:21:32 · 4028 阅读 · 0 评论 -
数字反转
描述:给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。输入:输入共 1 行,一个整数N。-1,000,000,000 ≤ N≤ 1,000,000,000。输出:输出共 1 行,一个整数,表示反转后的新数。样例输入:样例 #1:123样例 ...原创 2018-12-10 12:21:08 · 966 阅读 · 0 评论 -
救援
描述:救生船从大本营出发,营救若干屋顶上的人回到大本营,屋顶数目以及每个屋顶的坐标 和人数都将由输入决定,求出所有人都到达大本营并登陆所用的时间。 在直角坐标系的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。坐标系中的点代表屋顶,每个屋顶由其位置坐标和其上的人数表 示。救生船每次从大本营出发,以速度50 米/分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每...原创 2018-12-09 16:26:33 · 328 阅读 · 0 评论 -
人口增长问题
描述:我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?输入:一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔。输出:输出最后的人口数,以亿为单位,保留到小数点后四位。1 <= x <= 100, 1 <= n <= 100。样例输入:13 10样例输出:13.1306算法:#in...原创 2018-12-09 16:20:08 · 7685 阅读 · 2 评论 -
石头剪子布
描述:石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。 游戏规则:石头打剪刀,布包石头,剪刀剪布。 现在,需要你写一个程序来判断石头剪子布...原创 2018-12-28 12:07:49 · 328 阅读 · 0 评论 -
统计数字字符个数
描述:输入一行字符,统计出其中数字字符的个数。输入:一行字符串,总长度不超过255。输出:输出为1行,输出字符串里面数字字符的个数。样例输入:Peking University is set up at 1898.样例输出:4算法:#include<stdio.h>#include<string.h>#d...原创 2018-12-26 19:00:57 · 6779 阅读 · 0 评论 -
输出亲朋字符串
描述:编写程序,求给定字符串s的亲朋字符串s1。 亲朋字符串s1定义如下:给定字符串s的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符; 给定字符串s的第二个字符的ASCII值加第三个字符的ASCII值,得到第二个亲朋字符;依此类推,直到给定字符串s的倒数第二个字符。亲朋字符串的最 后一个字符由给定字符串s的最后一个字符ASCII值加s的第一个字符的ASCII值。...原创 2018-12-27 12:25:57 · 938 阅读 · 0 评论 -
基因相关性
描述:为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。现比对两条长度相同的DNA序列。首先定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。输入:有...原创 2018-12-27 12:14:04 · 2740 阅读 · 4 评论 -
计算2的n次方
描述:任意给定一个正整数N(N<=100),计算2的n次方的值。输入:输入一个正整数N。输出:输出2的N次方的值。样例输入:5样例输出:32核心思想:计算2的n次方也是依次相乘2,大于个位则进位,从后向前保存元素,所以要令初始值为1.算法:#include<stdio.h>int main(){ int ...原创 2019-02-14 15:37:00 · 11029 阅读 · 4 评论 -
合法 C 标识符
描述:给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。C语言标识符要求:1. 非保留字;2. 只包含字母、数字及下划线(“_”)。3. 不以数字开头。输入:一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。输出:一行,如果它是C语言的合法标识符,则输出yes,否则输出no。...原创 2018-12-29 10:22:18 · 1103 阅读 · 0 评论 -
错误探测
描述:给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。"改变矩阵元素"的操作定义为0变成1或者1变成0。输入:输入n + 1行,第1行为矩阵的大小n(0 < n < 100),以下n行为矩阵的每一行的元素,元素之间以一个空格分开。输出:...原创 2019-05-20 10:41:13 · 2733 阅读 · 0 评论 -
同行列对角线的格子
描述:输入三个自然数N,i,j(1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中(行列均从1开始编号),与格子(i,j)同行、同列、同一对角线的所有格子的位置。如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图: 第一列 第二列 第三列 第四...原创 2019-05-19 15:32:01 · 1086 阅读 · 0 评论 -
矩阵交换行
描述:给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。输入:输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。第6行包含两个整数m、n,以一个空格分开。(1 <= m,n <= 5)输出:输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。...原创 2019-05-15 16:25:14 · 3596 阅读 · 0 评论 -
最长最短单词
描述:输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。输入:一行句子。输出:两行输出:第1行,第一个最长的单词。第2行,第一个最短的单词。样例输入:I am studying Programming language...原创 2019-05-19 15:31:47 · 2685 阅读 · 0 评论 -
单词长度
描述:输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。输入:一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。单词序列总长度不超过1000。输出:依次输出对应单词的长度,之间以逗号间隔。样例输...原创 2019-05-15 11:38:09 · 1616 阅读 · 2 评论 -
过滤多余的空格
描述:一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。输入:一行,一个字符串(长度不超过200),句子的头和尾都没有空格。输出:过滤之后的句子。样例输入:Hello world.This is c language.样例输出:Hello world.This is c language.算法:#incl...原创 2019-02-28 16:47:36 · 5134 阅读 · 2 评论 -
紧急措施
描述: 近日,一些热门网站遭受黑客入侵,这些网站的账号、密码及email的数据惨遭泄露。你在这些网站上注册若干账号(使用的用户名不一定相同),但是注册时使用了相同的email。你此时拿到了那份泄露的数据,希望尽快将自己的密码更改。策略如下:根据email找到你的用户名和密码,然后更改密码。更改的规则为:小写和大写交换,非字母字符保持不变。输入:第一行为你的email地址...原创 2019-02-28 16:25:55 · 1128 阅读 · 0 评论 -
字符串移位包含问题
描述:对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。输入:一行,包含两个字符串,中间由单个空格隔...原创 2019-01-01 19:24:39 · 943 阅读 · 0 评论 -
验证子串
描述:输入两个字符串,验证其中一个串是否为另一个串的子串。输入:输入两个字符串, 每个字符串占一行,长度不超过200且不含空格。输出:若第一个串s1是第二个串s2的子串,则输出(s1) is substring of (s2) 否则,若第二个串s2是第一个串s1的子串,输出(s2) is substring of (s1) 否则,输出 No substring。...原创 2019-01-01 18:12:19 · 1204 阅读 · 0 评论 -
整理药名
描述:医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将ASPIRIN、aspirin整理成Aspirin。输入:第一行一个数字n,表示有n个药品名要整理,n不超过100。接下来n行,每行一个单词,长度不超过20,表示医生手书的药品名。药品名由字母、数字和-...原创 2018-12-31 11:05:15 · 900 阅读 · 1 评论 -
加密的病历单
描述:小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。 在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。 经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子) 1. 原文中所有的字符都在字母表中被循环左移了三个位置(dec ->...原创 2018-12-31 11:04:34 · 1327 阅读 · 1 评论 -
简单密码
描述:Julius Caesar曾经使用过一种很简单的密码。对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。比如字符A用F来代替。如下是密文和明文中字符的对应关系。密文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z明文:V W X Y Z A B C D E F G H I J K L M N ...原创 2018-12-30 11:31:41 · 753 阅读 · 0 评论 -
密码翻译
描述:在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。输入:输入一行,包含一个字符串,长度小于80个字符。输出:...原创 2018-12-30 10:53:17 · 2263 阅读 · 2 评论 -
字符替换
描述:把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串。输入:只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待替换的字符串,字符串长度小于等于30个字符,且不含空格等空白符;接下来一个字符为需要被替换的特定字符;接下来一个字符为用于替换的给定字符。输出:一行,即替换后的字符串。样例输入:hello-how-are-you...原创 2018-12-29 10:38:21 · 1841 阅读 · 1 评论 -
配对碱基链
描述:脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。输入:一个字符串,表示一条碱基链。这个字符串只含有大写字母A、...原创 2019-01-03 22:39:16 · 1007 阅读 · 0 评论 -
含k个3的数
描述:输入两个正整数 m 和 k,其中1 < m < 100000,1 < k < 5 ,判断 m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。 例如,输入: 43833 3 满足条件,输出YES。如果输入:39331 3 尽管有3个3,但不能被19整除,也不满足条件,应输出NO。输入:m 和 k 的值,...原创 2018-12-06 19:30:35 · 7612 阅读 · 0 评论 -
球弹跳高度的计算
这个题就很基础了,想当年还是参加蓝桥杯的题目,把球弹跳的过程在脑子中走一遍,就知道给出的问题怎样求解了,来看题吧!描述:一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?输入:输入一个整数h,表示球的初始高度。输出:输出包含两行:第1行:到球第10次落地时,一共...原创 2018-12-06 19:22:03 · 3363 阅读 · 0 评论 -
第n小的质数
描述:输入一个正整数n,求第n小的质数。输入:一个不超过10000的正整数n。输出:第n小的质数。样例输入:10样例输出:29算法:#include<stdio.h>#include<math.h>int isPrime(int num) //判断是否为质数的方法{ if(num ...原创 2018-12-06 19:14:53 · 6815 阅读 · 0 评论 -
石头剪刀布
描述:石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。一天,小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期不断循环的。请问,小A和小B比了N轮之后,谁赢的轮数多?输入:输入包含三行。第一行包含三个整数:N,NA,NB,分...原创 2018-12-04 20:28:01 · 2797 阅读 · 0 评论 -
有趣的跳跃
描述:一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1)。例如,1 4 2 3存在“有趣的跳跃”,因为差的绝对值分别为3,2,1。当然,任何只包含单个元素的序列一定存在“有趣的跳跃”。你需要写一个程序判定给定序列是否存在“有趣的跳跃”。输入:一行,第一个数是n(0 < n < 3000),为序列长度...原创 2018-12-04 19:51:50 · 7509 阅读 · 1 评论 -
校门外的树
描述:某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区...原创 2018-12-04 19:22:47 · 993 阅读 · 0 评论 -
分离整数的各个数位(0-100000000)
描述:给定一个整数,要求从个位开始分离出它的每一位数字。 输入:输入一个整数,整数在1到100000000之间。输出:从个位开始按照从低位到高位的顺序依次输出每一位数字。数字之间以一个空格分开。样例输入:12345样例输出:5 4 3 2 1C语言实现:#include<stdio.h>int main(){ int...原创 2018-11-29 18:42:04 · 16551 阅读 · 3 评论 -
求特殊自然数
描述:一个十进制自然数,它的七进制与九进制表示都是三位数,且七进制与九进制的三位数码表示顺序正好相反。编程求此自然数,并输出显示。 输入:无。输出:三行:第一行是此自然数的十进制表示;第一行是此自然数的七进制表示;第一行是此自然数的九进制表示。C语言代码:#include <stdio.h>int main(){ int a,b,c,m=...原创 2018-11-29 17:20:25 · 2783 阅读 · 0 评论 -
级数求和
描述:已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。样例输入:1样例输出:2C语言代码:#include <stdio.h>int main(){ int K; scanf("%d", &K);...原创 2018-11-29 17:10:45 · 1614 阅读 · 2 评论