中国大学MOOC—C语言程序设计习题集
文章平均质量分 62
rabbit8848
这个作者很懒,什么都没留下…
展开
-
6-3. 单词长度(15)
你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格;最后的‘.’不计算在内。输入格式: 输入在一行中给出一行文本,以‘.’结束。 提示:用scanf("%c",...);来读入一个字符,直到读到‘.’为止。 输出格式: 在一行中输原创 2014-06-25 11:57:03 · 1618 阅读 · 0 评论 -
7-3. 数素数 (20)
令Pi表示第i个素数。现任给两个正整数M 4,请输出PM到PN的所有素数。输入格式: 输入在一行中给出M和N,其间以空格分隔。输出格式: 输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79原创 2014-07-02 13:56:38 · 953 阅读 · 1 评论 -
10-2. 删除字符串中的子串(20)
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。输入格式: 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。 输出格式: 在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。 输入样例:Tomcat is a male ccatatcat输出样例:Tom is原创 2014-07-23 16:58:50 · 1413 阅读 · 1 评论 -
10-3. 字符串逆序(15)
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 在一行中输出逆序后的字符串。 输入样例:Hello World!输出样例:!dlroW olleH程序:原创 2014-07-23 17:08:46 · 1539 阅读 · 0 评论 -
10-0. 说反话 (20)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I C原创 2014-07-23 16:44:02 · 1059 阅读 · 0 评论 -
7-2. A+B和C (15)
给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。输入格式: 输入第1行给出正整数T(输出格式: 对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。输入样例:41 2 32 3 42147483647 0 21474836460 -2原创 2014-07-02 14:34:08 · 794 阅读 · 0 评论 -
10-4. 字符串循环左移(20)
输入一个字符串和一个非负整数N,要求将字符串循环左移N次。输入格式: 输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。 输出格式: 在一行中输出循环左移N次后的字符串。 输入样例:Hello World!2输出样例:llo World!He输出样例:原创 2014-07-23 17:16:38 · 4108 阅读 · 0 评论 -
10-1. 在字符串中查找指定字符(15)
输入一个字符串S,再输入一个字符c,要求在字符串S中查找字符c。如果找不到则输出“Not found”;若找到则输出字符串S中从c开始的所有字符。输入格式: 输入在第1行中给出一个不超过80个字符长度的、以回车结束的非空字符串;在第2行中给出一个字符。 输出格式: 在一行中按照题目要求输出结果。 输入样例1:It is a black boxb输出样例1:原创 2014-07-23 16:50:46 · 5988 阅读 · 0 评论 -
5-3. 求a的连续和(15)
输入两个整数a和n,a的范围是[0,9],n的范围是[1,8],求数列之和S = a+aa+aaa+...+aaa...a(n个a)。 如a为2、n为8时输出的是2+22+222+...+22222222的和。输入格式: 输入在一行中给出两个整数,先后表示a和n。 输出格式: 在一行中输出要求的数列之和。输入样例:2 4输出样例:2468程序:原创 2014-06-16 20:20:22 · 897 阅读 · 0 评论 -
5-2. 念数字(15)
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“fu”字。十个数字对应的拼音如下: 0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式: 输入在一行中给出一个整数,如: 1234 。 提示:整数包括负数、零和正数。 输出格式: 在一行中输出这个整数对应的拼音原创 2014-06-16 20:16:48 · 3746 阅读 · 0 评论 -
5-0. 求序列前N项和(15)
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中输出部分和的值,精确到小数点后2位。题目保证计算结果不超过双精度范围。输入样例:20输出样例:32.66程序:原创 2014-06-16 20:12:57 · 1487 阅读 · 0 评论 -
5-1. 约分最简分式(15)
分数可以表示为“分子/分母”的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式: 输入在一行中给出一个分数,分子和分母中间以斜杠“/”分隔,如: 12/34 表示34原创 2014-06-16 20:15:01 · 4444 阅读 · 2 评论 -
字符串-07. 说反话-加强版 (20)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello World He原创 2014-07-27 09:04:18 · 1400 阅读 · 0 评论 -
8-1. 求一批整数中出现最多的个位数字(20)
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。输入格式: 输入在第1行中给出正整数N(输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。原创 2014-07-09 20:03:32 · 3125 阅读 · 0 评论 -
8-2. 求矩阵的局部极大值(15)
给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。输入格式: 输入在第1行中给出矩阵A的行数M和列数N(3输出格式: 每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行原创 2014-07-09 20:07:50 · 4351 阅读 · 0 评论 -
8-3. 组个最小数 (20)
给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式: 每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一原创 2014-07-09 22:02:53 · 1531 阅读 · 1 评论 -
8-0. 查找整数(10)
本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。输入格式: 输入在第1行中给出2个正整数N(输出格式: 在一行中输出X的位置,或者“Not Found”。 输入样例1:5 73 5 7 1 9输出样例1:2输入样例2:5 73 5 8 1 9输出样例2:Not Foun原创 2014-07-09 20:01:31 · 10979 阅读 · 1 评论 -
11-0. 平面向量加法(10)
本题要求编写程序,计算两个二维平面向量的和向量。输入格式: 输入在一行中按照“x1 y1 x2 y2”的格式给出两个二维平面向量V1=(x1, y1)和V2=(x2, y2)的分量。 输出格式: 在一行中按照“(x, y)”的格式输出和向量,坐标输出小数点后1位(注意不能输出-0.0)。 输入样例:3.5 -2.7 -13.9 8.7输出样例:(-10.4原创 2014-07-31 17:28:54 · 8366 阅读 · 0 评论 -
7-0. 写出这个数 (20)
7-0. 写出这个数 (20)时间限制 400 ms内存限制 32000 kB代码长度限制 8000 B判题程序 Standard 作者 CHEN, Yue读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值原创 2014-07-02 12:22:48 · 1153 阅读 · 0 评论 -
7-1. 换个格式输出整数 (15)
让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(输入格式:每个测试输入包含1个测试用例,给出正整数n(输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例1:234输出样例1:BBSSS1234输入样例2:23输出样例2:SS123输程序原创 2014-07-02 12:43:28 · 877 阅读 · 0 评论 -
4-3. 统计素数并求和(20)
本题要求统计给定整数M和N区间内素数的个数并对它们求和。 输入格式: 输入在一行中给出2个正整数M和N(1输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31输出样例:7 143程序:原创 2014-06-11 17:27:37 · 7745 阅读 · 2 评论 -
6-1. 简单计算器(20)
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。输入格式: 输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式: 在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例:1+2*10-10/2=输出样例原创 2014-06-25 11:37:09 · 2256 阅读 · 1 评论 -
6-0. 混合类型数据格式化输入(5)
本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。输入格式: 输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。 输出格式: 在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。 输入样例:2.12 88 c 4.7输出样例:c 88 2.12 4.70原创 2014-06-25 11:32:21 · 2070 阅读 · 0 评论 -
6-2. 字符串字母大小写转换(10)
输入一个以#结束的字符串,本题要求将小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其它字符不变。输入格式: 输入在一行中给出一个长度不超过40的、以#结束的非空字符串。 输出格式: 在一行中按照要求输出转换后的字符串。输入样例:Hello World! 123#输出样例:hELLO wORLD! 123程序:原创 2014-06-25 11:40:37 · 2674 阅读 · 0 评论 -
4-0. 求符合给定条件的整数集(15)
给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。输入格式: 输入在一行中给出A。 输出格式: 输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。 输入样例:2输出样例:234 235 243 245 253 254324 325 342 345 352 354423 425原创 2014-06-11 17:19:59 · 2630 阅读 · 3 评论 -
2-4. BCD解密(10)
BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。输入格式:输入在一行中给原创 2014-06-09 22:15:45 · 4223 阅读 · 0 评论 -
3-2. 用天平找小球(10)
三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。要求找出这个不一样的球。输入格式: 输入在一行中给出3个正整数,顺序对应球A、B、C的重量。 输出格式: 在一行中输出唯一的那个不一样的球。 输入样例:1 1 2输出样例:C程序:#include int main(void) { inta, b, c;原创 2014-06-09 22:25:31 · 2920 阅读 · 0 评论 -
3-4. 成绩转换(15)
本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:· 大于等于90分为A; · 小于90且大于等于80为B; · 小于80且大于等于70为C; · 小于70且大于等于60为D; · 小于60为E。 输入格式: 输入在一行中给出1个整数的百分制成绩。 输出格式: 在一行中输出对应的五分制成绩。 输入样例:90输出样例:A程序原创 2014-06-09 22:38:41 · 895 阅读 · 1 评论 -
2-2. 然后是几点(15)
有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。输入格式:输入在一行原创 2014-06-09 22:12:34 · 5557 阅读 · 5 评论 -
3-0. 超速判断(10)
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60mph,则显示“Speeding”,否则显示“OK”。输入格式: 输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。 输出格式: 在一行中输出测速仪显示结果,格式为:“Speed: V - S”,其中V是车速,S或者是Speeding、或者是OK。输入样例1:40输出样例1:Speed: 40 -原创 2014-06-09 22:22:18 · 1563 阅读 · 0 评论 -
2-0. 整数四则运算(10)
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式: 输入在一行中给出2个正整数A和B。 输出格式: 在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。输入样例:3 2输出样例:3 + 2 = 53 - 2 = 13 * 2 = 63 / 2 = 1程序:#include i原创 2014-06-09 22:09:25 · 1067 阅读 · 0 评论 -
3-1. 三天打鱼两天晒网(15)
中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?输入格式: 输入在一行中给出1个不超过1000的正整数N。输出格式: 在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。 输入样例1:103输出样例1:Fishin原创 2014-06-09 22:24:04 · 1164 阅读 · 0 评论 -
2-1. 厘米换算英尺英寸(15)
如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)*0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式: 输入在一行中给出1个正整数,单位是厘米。 输出格式: 在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例:170输出样例:原创 2014-06-09 22:11:14 · 4603 阅读 · 0 评论 -
2-3. 逆序的三位数(10)
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出按位逆序的数。输入样例:123输出样例:321程序:#include int main(void) { intn; inta,原创 2014-06-09 22:14:26 · 10088 阅读 · 0 评论 -
3-3. 12-24小时制(15)
编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。 输入格式: 输入在一行中给出带有中间的“:”符号(半角的冒号)的24小时制的时间,如12:34表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6表示5点零6分。提示:在scanf的格式字符串中加入“:”,让scanf来处理这个冒号。输出格式: 在一行中输出这个时间对应的12小时制的时间原创 2014-06-09 22:27:03 · 1233 阅读 · 0 评论 -
4-4. 猜数字游戏(15)
猜数字游戏是令系统随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次原创 2014-06-11 17:29:47 · 3083 阅读 · 1 评论 -
4-1. 水仙花数(20)
水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例 如:153 = 13 + 53+33。 本题要求编写程序,计算所有N位水仙花数。输入格式: 输入在一行中给出一个正整数N(3输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:3输出样例:153370371407程序:原创 2014-06-11 17:22:39 · 2673 阅读 · 4 评论 -
4-2. 打印九九口诀表(15)
下面是一个完整的下三角九九口诀表:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7原创 2014-06-11 17:25:32 · 2676 阅读 · 0 评论 -
11-1. 通讯录的录入与显示(10)
通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。输入格式: 输入在第1行给出正整数N(<=10);随后N行,每行按照格式“姓名 生日 性别 固话 手机”给出一条记录。其中“姓名”是不超过10个字符、不包含空格的非空字符串;生日按“yyyy/mm/dd”的格式给出年月日;性别用原创 2014-07-31 17:33:51 · 2555 阅读 · 0 评论