![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言习题
Oliver_H_
这个作者很懒,什么都没留下…
展开
-
7-56 数组元素循环右移问题(含重难点注释)
输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。输入样例:6 21 2 3 4 5 6输出样例:5 6 1 2 3 4//很巧妙的思路 #include<stdio.h>int main(){ ...原创 2019-05-20 20:35:43 · 766 阅读 · 1 评论 -
*7-103 查找书籍(含重难点注释)
给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programmin...原创 2019-05-30 16:48:01 · 607 阅读 · 1 评论 -
*7-101 简化的插入排序(含重难点注释)
本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。输入格式:输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。输出格式:在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。输入样例:51 2 4 5 73输出样例:1 2 3 4 5 7//未定义第二个数组的取巧...原创 2019-05-30 15:11:20 · 571 阅读 · 0 评论 -
7-56 找鞍点(含重难点注释)
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41...原创 2019-05-23 15:45:15 · 1390 阅读 · 2 评论 -
*7-93 藏尾诗(含重难点注释)
本题要求编写一个解密藏尾诗的程序。输入格式:输入为一首中文藏尾诗,一共四句。每句一行,但句子不一定是等长的,最短一个汉字,最长九个汉字。注意:一个汉字占两个字节。输出格式:取出每句的最后一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例:悠悠田园风然而心难平兰花轻涌浪兰香愈幽静输出样例:风平浪静#include<stdio.h>...原创 2019-05-30 14:13:16 · 1436 阅读 · 0 评论 -
*7-92 IP地址转换(含重难点注释)
一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入格式:输入在一行中给出32位二进制字符串。输出格式:在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。输入样例:11001100100101000001010101110010输出样例:204...原创 2019-05-30 11:39:24 · 830 阅读 · 1 评论 -
7-48 求组合数(含重难点注释)
输入样例:2 7输出样例:result = 21/*这题我原先的做法是定义的int fact(int n),但是有一个测试点不通过我比对了 double fact(int n)和int fact(int n)两种情况下fact(13)的变化,发现了:i=13的时候,result的值会错误,因为超出了int的取值范围。所以题目会提示把fact定义为double型,注意审题啊...原创 2019-05-18 09:37:22 · 378 阅读 · 0 评论 -
*7-89 交换最小值和最大值(含重难点注释)
本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。注意:题目保证最大和最小值都是唯一的。输入格式:输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。输出格式:在一行中顺序输出交换后的序列,每个整数后跟一个空格。输入样例:58 2 5 1 4输出样例:1 2 5 4 8#in...原创 2019-05-30 09:34:49 · 661 阅读 · 0 评论 -
7-84 高空坠球(含重难点注释)
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。输...原创 2019-05-27 09:21:18 · 649 阅读 · 0 评论 -
7-80 打印菱形图案-未完成
本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。输入样例:7输出样例:这里是引用(中间那排的第一个*是在最左边的,它前面没有空格)...原创 2019-05-27 09:19:12 · 135 阅读 · 0 评论 -
7-66 找出总分最高的学生(含重难点注释)
给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,...原创 2019-05-27 08:54:08 · 1516 阅读 · 0 评论 -
*7-64 最长对称子串-半成品
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetric?输出样例:11#include<...原创 2019-05-25 18:17:36 · 113 阅读 · 0 评论 -
7-51 求n以内最大的k个素数以及它们的和(含重难点注释)
本题要求计算并输出不超过n的最大的k个素数以及它们的和。输入格式:输入在一行中给出n(10≤n≤10000)和k(1≤k≤10)的值。输出格式:在一行中按下列格式输出:素数1+素数2+…+素数k=总和值其中素数按递减顺序输出。若n以内不够k个素数,则按实际个数输出。输入样例1:1000 10输出样例1:997+991+983+977+971+967+953+947+941...原创 2019-05-18 20:46:32 · 7330 阅读 · 1 评论 -
7-58 求整数序列中出现次数最多的数(含重难点注释)
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式:输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例:10 3 2 -1 5 3 4 3 0 3 2输出样例:3 4#include<stdio.h&g...原创 2019-05-23 17:16:53 · 196 阅读 · 0 评论 -
*7-120 Left-pad(含重难点注释)
根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是*****GPLT。Node社区曾...原创 2019-06-02 16:10:46 · 607 阅读 · 2 评论 -
*7-119 猴子选大王(含重难点注释)—经典算法.约瑟夫环
。原创 2019-06-02 16:08:50 · 251 阅读 · 0 评论 -
*7-118 字符串字母大小写转换(含重难点注释)
本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。输入格式:输入为一个以“#”结束的字符串(不超过30个字符)。输出格式:在一行中输出大小写转换后的结果字符串。输入样例:Hello World! 123#输出样例:hELLO wORLD! 123#include<stdio.h>#i...原创 2019-05-31 23:05:01 · 586 阅读 · 0 评论 -
*7-117 数字加密(含重难点注释)
输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。输入格式:输入在一行中给出一个四位的整数x,即要求被加密的数。输出格式:在一行中按照格式“The encrypted number ...原创 2019-05-31 22:48:00 · 1317 阅读 · 1 评论 -
7-116 验证“哥德巴赫猜想”(含重难点注释)
数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入格式:输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。输出格式:在一行中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。又因为这样的分...原创 2019-05-31 20:56:33 · 1025 阅读 · 1 评论 -
*7-111 输出学生成绩(含重难点注释)
本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。输入格式:输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。输出格式:按照以下格式输出:average = 平均成绩max = 最高成绩min = 最低成绩结果均保留两位小数。输入样例:385 90 95输出样例:...原创 2019-05-31 14:54:04 · 493 阅读 · 0 评论 -
*7-106 计算平均成绩(含重难点注释)
给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩”,中间以空格分隔。输出格式:首先在一行中输出平均成绩,保留2位小数。然后按照输入顺序...原创 2019-05-31 14:15:00 · 294 阅读 · 0 评论 -
*7-105 计算职工工资(含重难点注释)
给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式:输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式:按照输入顺序,每行输出一...原创 2019-05-30 17:47:56 · 362 阅读 · 0 评论 -
7-59 字符串逆序(含重难点注释)
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。输入样例:Hello World!输出样例:!dlroW olleH#include<stdio.h>#include<string.h>int main(){ //!!...原创 2019-05-23 17:31:22 · 200 阅读 · 0 评论 -
7-47 二进制的前导的零(含重难点注释)
计算机内部用二进制来表达所有的值。一个十进制的数字,比如18,在一个32位的计算机内部被表达为00000000000000000000000000011000。可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。现在,你的任务是写一个程序,输入一个整数,输出在32位表达下它前导的零的个数。输入格式:一个整数,在32位的整数可以表达的范围内。输出格式:一个整数,表...原创 2019-05-16 20:09:35 · 686 阅读 · 0 评论 -
7-63 查验身份证(含重难点注释)
一个合法的身份证号码由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-05-25 14:48:12 · 781 阅读 · 0 评论 -
7-29 二分法求多项式单根(含重难点注释)
输入样例:3 -1 -3 1-0.5 0.5输出样例:0.33#include <stdio.h>//在这里定义,就可以在函数main和函数f都直接用 double a3,a2,a1,a0;double f(double x);int main (){ double a,b,mid; scanf("%lf %lf %lf %lf",&a3,&...原创 2019-05-06 14:07:13 · 204 阅读 · 0 评论 -
7-27 兔子繁衍问题(含重难点注释)—斐波拉契数列
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N最少需要的月数。输入样例:30输出样例:9//考察斐波那契数列 #include <stdi...原创 2019-05-06 14:07:02 · 317 阅读 · 0 评论 -
7-26 最大公约数和最小公倍数(含重难点注释)
本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292输出样例:73 2044#include <stdio.h>int main (){ int M,N; scanf("%d %d",&...原创 2019-05-04 18:42:07 · 237 阅读 · 0 评论 -
7-25 求奇数和(含重难点注释)
本题要求计算给定的一系列正整数中奇数的和。输入格式:输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。输出格式:在一行中输出正整数序列中奇数的和。输入样例:8 7 4 3 70 5 6 101 -1输出样例:116//难点在于搞清楚一件事,机器的运算思维不同于人//我们看到了一大串数字并不意味着程序运行的时候也是看到一串数字...原创 2019-05-04 17:17:49 · 732 阅读 · 1 评论 -
7-24 猜数字游戏(含重难点注释)
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包...原创 2019-05-04 17:03:48 · 722 阅读 · 0 评论 -
7-21 超速判断(含重难点注释)
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。输入格式:输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。输出格式:在一行中输出测速仪显示结果,格式为:Speed: V - S,其中V是车速,S或者是Speeding、或者是OK。输入样例1:40输出样例1:Speed: 40 - OK输入样例2...原创 2019-05-04 16:03:52 · 175 阅读 · 0 评论 -
7-20 简单计算器(含重难点注释)
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例:1+2*10-10/2=输出样例:10...原创 2019-05-04 16:01:11 · 454 阅读 · 0 评论 -
7-19 计算天数(含重难点注释)
本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61输入样例2:2000/03/02输出样例2...原创 2019-05-04 15:49:51 · 178 阅读 · 0 评论 -
7-18 出租车计价(含重难点注释)
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元;超起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%的回空补贴费,即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。输入格式:输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其...原创 2019-05-04 14:58:55 · 516 阅读 · 0 评论 -
7-15 BCD解密(含重难点注释)
BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。输入格式:输入在一行中给出一个...原创 2019-05-04 14:44:44 · 1273 阅读 · 0 评论 -
7-14 然后是几点(含重难点注释)
有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。输入格式:输入在一行中给出...原创 2019-05-04 14:33:48 · 775 阅读 · 0 评论 -
7-30 念数字(含重难点注释)
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后...原创 2019-05-06 14:07:25 · 485 阅读 · 2 评论 -
7-31 掉入陷阱的数字(含重难点注释)
输入样例:5输出样例:1:162:223:134:13#include <stdio.h>int f(int x);int main (){ //x是输入的数,i是第i步,mem是第i步的时候x变成了多少 int x; scanf("%d",&x); int i=1; int mem=f(x); int count; //这一步...原创 2019-05-06 14:07:38 · 1275 阅读 · 0 评论 -
7-33 统计素数并求和(含重难点注释)
本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数M和N(1≤M≤N≤500)。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31输出样例:7 143#include <stdio.h>int main (){ //求M到N区间之内的数(包括M、N) int...原创 2019-05-06 14:07:48 · 800 阅读 · 0 评论 -
7-62 切分表达式——写个tokenizer吧(含重难点注释)-有疑问未解决
[先说点出题背景]这个题是为低年级同学、学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂。如果是高年级、学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧。哦,对了,什么是tokenizer?请自行查询解决。反正在此处不应翻译成“令牌解析器”。[正题]四则运算表达式由运算数(必定包含数字,可能...原创 2019-05-25 09:02:40 · 1257 阅读 · 0 评论