1、C+习题11. 从键盘输入 3 个整数,求其中的最大数和最小数,并输出结果。2. 从键盘上输入一个 3*3 的整数矩阵,求其各行的平均值并输出,输出时保留两位小数。3. 输出 x2的值,x 取值从 0 到 10。4. 从键盘上输入一个 3*4 的整数矩阵,要求输出其最大元素的值,以及它的行号和列号。5.编写一个程序从键盘输入 10 个数,要求输出其中最小的。C+习题26.编写一个函数根据以下公式计算 s,计算结果作为函数值返回;n 通过形参传入。s= 7.输出 1000 年(包括 1000 年)到 1999 年之间的所有闰年,要求每三个一行,分行输出。8. 编写程序打印所有的“水仙花数” 。
2、“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如 153 是一个“水仙花数” ,因为 153111333555。9.编写一个程序,输入一个 3 位数的正整数,然后反向输出对应的数。如:123,则输出 321。C+习题310. 从键盘输入 10 名学生的 C 语言成绩存入一维数组内,编写程序计算 10 名学生的最高分、平均分和及格人数。11. 编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“a numerical character”,否则输出“other character” 。12. 从键盘输入 12 个数存入二维数组 a34中,编写程序求出最大元素的值及它所在的行
3、号和列号。13打印所有的“水仙花数” ,所谓“水仙花数”是指一个三位正整数,其各位数字的立方和等于该数本身。C+习题414.利用函数将给定的 33 二维数组转置。15.编程输入 a、b、c 的值后,输出一元二次方程 ax2+bx+c=0 的解。16.从键盘上输入任意两个数和一个运算符(+、-、*、/) ,根据输入的运算符对两个数计算,并输出结果。17.编写输入一个字符串,计算其中空格的个数。C+习题518. 采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的成绩。19.编写程序,逆转字符串。20. 编写程序,统计一个英语文本中的英语单词个数。21. 打印出所有的“水仙花
4、数” ,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数” ,因为 153=1 的三次方5 的三次方3 的三次方。22有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20 项之和。C+习题623找出 101200 中所有的素数。24使用循环结构编写程序,打印出如下图案*25.用冒泡排序法将 10 个整数由大到小排序。26.输入任意正整数,编程判断该数是否为回文数(回文数是指从左到右读与从右到左读一样,如 12321) 。C+习题727. 求出10至1000之内能同时被2、3、7整除的数,并输出。28. 输入一字符串
5、,检查是否回文 (回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。29.设计一个函数,用来判断一个整数是否为素数。30.从键盘上输入若干学生成绩(成绩在 0100 之间) ,计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。C+习题831.设计一个函数,用来判断一个整数是否为素数。32.从键盘上输入若干学生成绩(成绩在 0100 之间) ,计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。33. 输入三个整型数,找出其中数值最大者并输出。34 编写程序在屏幕上显示如下图形:1 2 3 4 55 1 2 3 44 5 1 2 33 4 5 1
6、 2 2 3 4 5 1C+习题935. 编写猜数游戏,程序给定某个整数,从键盘上反复输入数据进行猜测。如果未猜中,程序提示输入过大或者过小;如果猜中,则输出猜的次数,最多允许猜 10 次。36. 将一个数组中的值按逆序重新存放。例如,原来顺序为 a,b,c,d,e,f,g,现在顺序为 g,f,e,d, c,b,a.(数组长度不限)37有一篇文章,共有 3 行文字,每行有 80 个字符。要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。C+习题1038求 10501210kkk39将十个整数输入数组,求出其平均值并输出。40.将十个实型数输入数组(float n10;)逆
7、序存放后再输出。41.编写程序:输出 x2的值,x 取值从 1 到 10。 ( 8 )C+习题1142.设计程序:定义可以存储 1000 个整数的数组;在该数组中依次存入 1 到1000;在屏幕上打印出数组中所有 17 的倍数。 (10 )43.设计一个函数,用来判断一个整数是否为素数;并在 main()函数中调用该函数,在屏幕上打印出 100 以内的所有素数。 (12 )44.写出一个函数,求 n! .(n! = 1*2*3*n)45使用一维数组计算学生的平均成绩。用输入负数结束输入。 C+习题1246.从键盘上输入一个 3*3 的矩阵,并求其主对角线元素的和。47. 写一个函数 is_pr
8、ime,判断整数 n 是否素数。如果 n 是素数,则返回 1;如果 n 不是素数,则返回 0。48.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC” ,则输出“A123bXc”49.任意输入 10 个整数,打印出 10 个数中的最大值50.输入三个整数 a, b, c,请按从小到大的顺序输出这三个数C+习题1351、输入一个整数 n,请判断 n 是否是质数,如果是,打印 n 是质数,否则打印 n 不是质数52,编程,先输入 n,再输入 n 个实数并分别统计正数的和、负数的和,然后输出统计结果。53.编程,输入 a1、a 2
9、、.、a 15 后,计算下列表达式的值并输出。11345aC+习题1454.编程,设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。55.编程,从键盘上输入一个字符串,将其中的小写字母转换成大写字母,大写字母转换成小写字母,输入字符串以“!”结束,将转换后的字符串输出到电脑屏幕。2001 初中】数的计数 1004Time Limit:1000MS Memory Limit:65536KTotal Submit:1070 Accepted:688 Description 我们要求找出具有下列性质数的个数(包含输入的自然数 n): 先输入一个自然数 n(n1000),然后对
10、此自然数按照如下方法进行处理 l不作任何处理: z茬它的左边加上一个自然数,但该自然数不能超过原数的一半; 3加上数后,继续按此规则进行处理,直到不能再而 自然数为止。 输入:6 满足条件的数为 6 (此部分不必输出 ) 16 C+习题1526 126 36 136 输出:6 Input 一个自然数 n(n1000)Output 满足条件的数的个数Sample Input 6Sample Output 6C+习题16【2004 初中】不高兴的津津 1008Time Limit:1000MS Memory Limit:65536KTotal Submit:1184 Accepted:756 De
11、scription 津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。Input 输入文件 unhappy.in 包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间Output 输出文件 unhap
12、py.out 包括一行,这一行只包含一个数字。如果不会不高兴则输出 0,如果会则输出最不高兴的是周几(用 1, 2, 3, 4, 5, 6, 7 分别表示周一,周二,周三,周四,周五,周六,周日) 。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。Sample Input 5 36 27 25 35 40 40 6Sample Output 3C+习题17【模拟试题】猴子分桃 1012Time Limit:10000MS Memory Limit:65536KTotal Submit:1008 Accepted:259 Case Time Limit:1000MS Descrip
13、tion 有一堆桃子和 N 只猴子,第一只猴子将桃子平均分成了 M 堆后,还剩了 1 个,它吃了剩下的一个,并拿走一堆。后面的猴子也和第 1 只进行了同样的做法,请问 N 只猴子进行了同样做法后这一堆桃子至少还剩了多少个桃子(假设剩下的每堆中至少有一个桃子) ?而最初时的那堆桃子至少有多少个?Input 输入包含二个数据,数据间用空格隔开。第一个数据为猴子的只数 N(1N 10),第二个数据为桃子分成的堆数 M(2 M7)。Output 输出包含两行数据,第一行数据为剩下的桃子数,第二行数据为原来的桃子数。Sample Input C+习题183 2Sample Output 1 15【200
14、5 普及】校门外的树 1048Time Limit:10000MS Memory Limit:65536KTotal Submit:1045 Accepted:552 Case Time Limit:1000MS Description 某校大门外长度为 L 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 L 的位置;数轴上的每个整数点,即 0,1,2,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。C+习题19已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有
15、重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。 Input 输入的第一行有两个整数 L(1 80) ,并且在本学期内发表 1 篇或 1 篇以上论文的学生均可获得; 2)五四奖学金,每人 4000 元,期末平均成绩高于 85 分(85) ,并且班级评议成绩高于 80 分(80)的学生均可获得; 3)成绩优秀奖,每人 2000 元,期末平均成绩高于 90 分(90)的学生均可获得; 4)西部奖学金,每人 1000 元,期末平均成绩高于 85 分(85)的西部省份学生均可获得; 5)班级贡献奖,每人 850 元,班级评议成绩高于
16、 80 分(80)的学生干部均可获得; 只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是 87 分,班级评议成绩 82 分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是 4850 元。 现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件) 。Input 输入的第一行是一个整数 N(1 = N = 100) ,表示学生的总数。接下来的 N 行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的
17、论文数。姓名是由大小写英文字母组成的长度不超过 20 的字符串(不含空格) ;期末平均成绩和班级评议成绩都是 0 到 100 之间的整数(包括 0 和 100) ;是否是学生干部和是否是西部省份学生分别用一个字符表示,Y 表示是,NC+习题21表示不是;发表的论文数是 0 到 10 的整数(包括 0 和 10) 。每两个相邻数据项之间用一个空格分隔。Output 输出包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。第三行是这 N 个学生获得的奖学金的总数。Sample Input
18、 4YaoLin 87 82 Y N 0ChenRuiyi 88 78 N Y 1LiXin 92 88 N N 0ZhangQin 83 87 Y N 1Sample Output ChenRuiyi900028700【NOIP 2004 提高】津津的储蓄计划 1058C+习题22Time Limit:10000MS Memory Limit:65536KTotal Submit:860 Accepted:409 Case Time Limit:1000MS Description 津津的零花钱一直都是自己管理。每个月的月初妈妈给津津 300 元钱,津津会预算这个月的花销,并且总能做到实际花
19、销和预算的相同。 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上 20还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于 100 元或恰好 100 元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。 例如 11 月初津津手中还有 83 元,妈妈给了津津 300 元。津津预计 11 月的花销是 180元,那么她就会在妈妈那里存 200 元,自己留下 183 元。到了 11 月月末,津津手中会剩下3 元钱。 津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月
20、的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。 现在请你根据 2004 年 1 月到 12 月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到 2004 年年末,妈妈将津津平常存的钱加上 20还给津津之后,津津手中会有多少钱。 Input 输入包括 12 行数据,每行包含一个小于 350 的非负整数,分别表示 1 月到 12 月津津的预算。Output 输出包括一行,这一行只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X 表示出现这种情况的第一个月;否则输出到 2004 年年末津津
21、手中会有多少钱。Sample Input 290230280200300170C+习题2334050 90 80 20060 Sample Output -7【培训试题】最大子段和 1079Time Limit:10000MS Memory Limit:65536KTotal Submit:1049 Accepted:473 Case Time Limit:1000MS Description 给出一段序列,选出其中连续且非空的一段使得这段和最大。Input C+习题24输入文件的第一行是一个正整数 N,表示了序列的长度。 第 2 行包含 N 个绝对值不大于 10000 的整数 Ai,描述了这
22、段序列。Output 输入文件仅包括 1 个正整数,为最大的子段和是多少。Sample Input 72 -4 3 -1 2 -4 3Sample Output 4Hint 【数据规模与约定】 对于 40%的数据,有 N 2000。 对于 100%的数据,有 N 200000。【基础试题】四位数分解(初级)1143C+习题25Time Limit:10000MS Memory Limit:65536KTotal Submit:1472 Accepted:794 Case Time Limit:1000MS Description 把整数 3025 从中剪开分为 30 和 25 两个数,此时再将
23、这两数之和平方,(30+25)2=3025 计算结果又等于原数。求所有符合这样条件的四位数。Input 无Output 符合这样条件的四位数,每个之间用一个空格分开Sample Input Sample Output C+习题26【基础试题】最小公倍数(初级 ) 1146Time Limit:1000MS Memory Limit:65536KTotal Submit:1367 Accepted:730 Description 求两个自然数 m,n 的最小公倍数。Input 输入两个自然数 m,n( m,n10000)Output 输出最小公倍数Sample Input 16 24Sample
24、 Output 48C+习题27【基础试题】求 m 与 n 之间的素数 1149Time Limit:1000MS Memory Limit:65536KTotal Submit:2264 Accepted:728 Description 求 mn 之间的所有素数Input 输入 m,n(m,n10000)Output 输出 m,n 之间所有素数Sample Input 4 10Sample Output 5 7C+习题28【基础试题】简单阶乘求和 1150Time Limit:1000MS Memory Limit:65536KTotal Submit:2136 Accepted:593 D
25、escription 求 1!+2!+n!的值(n20)Input 输入 nOutput 阶乘的和Sample Input 2Sample Output 3C+习题29【基础试题】数列(初级) 1153Time Limit:1000MS Memory Limit:65536KTotal Submit:899 Accepted:386 Description 给定一串整数数列,求出所有的递增和递减子序列的数目,如数列7,2,6,9,8,3,5,2,1 可分为(7,2) , (2,6,9) , (9,8,3) , (3,5) ,(5,2,1)5 个子序列,答案就是 5,我们称 2,9,3,5 为转
26、折元素。Input 输入第一行为 n;第二行为 n 个数;Output 输出所有的递增和递减子序列的数目Sample Input 97 2 6 9 8 3 5 2 1Sample Output 5Source C+习题30【NOIP 1996 提高】砝码称重 1290Time Limit:10000MS Memory Limit:65536KTotal Submit:508 Accepted:195 Description 设有 1g、2g、3g、5g、10g、20g 的砝码各若干枚(其总重=1000) ,Input 输入方式:a1 a2 a3 a4 a5 a6 (表示 1g 砝码有 a1 个,2g 砝码有 a2 个,20g 砝码有 a6 个) Output 输出方式:Total=N (N 表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况) Sample Input 1 1 0 0 0 0 (注:下划线表示空格)Sample Output TOTAL=3 表示可以称出 1g,2g,3g 三种不同的重量