c习题讲解.docx

上传人:b****6 文档编号:7200188 上传时间:2023-01-21 格式:DOCX 页数:20 大小:33.15KB
下载 相关 举报
c习题讲解.docx_第1页
第1页 / 共20页
c习题讲解.docx_第2页
第2页 / 共20页
c习题讲解.docx_第3页
第3页 / 共20页
c习题讲解.docx_第4页
第4页 / 共20页
c习题讲解.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

c习题讲解.docx

《c习题讲解.docx》由会员分享,可在线阅读,更多相关《c习题讲解.docx(20页珍藏版)》请在冰豆网上搜索。

c习题讲解.docx

c习题讲解

1.从键盘输入3个整数,求其中的最大数和最小数,并输出结果。

 

2.从键盘上输入一个3*3的整数矩阵,求其各行的平均值并输出,输出时保留两位小数。

 

3.输出x2的值,x取值从0到10。

 

4.从键盘上输入一个3*4的整数矩阵,要求输出其最大元素的值,以及它的行号和列号。

 

5.编写一个程序从键盘输入10个数,要求输出其中最小的。

 

6.编写一个函数根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

s=

 

7.输出1000年(包括1000年)到1999年之间的所有闰年,要求每三个一行,分行输出。

 

8.编写程序打印所有的“水仙花数”。

“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为153=1×1×1+3×3×3+5×5×5。

 

9.编写一个程序,输入一个3位数的正整数,然后反向输出对应的数。

如:

123,则输出321。

 

10.从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数。

 

11.编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“anumericalcharacter”,

否则输出“othercharacter”。

 

12.从键盘输入12个数存入二维数组a[3][4]中,编写程序求出最大元素的值及它所在的行号和列号。

 

13.打印所有的“水仙花数”,所谓“水仙花数”是指一个三位正整数,其各位数字的立方和等于该数本身。

 

14.利用函数将给定的3×3二维数组转置。

 

15.编程输入a、b、c的值后,输出一元二次方程ax2+bx+c=0的解。

 

16.从键盘上输入任意两个数和一个运算符(+、-、*、/),根据输入的运算符对两个数计算,并输出结果。

 

17.编写输入一个字符串,计算其中空格的个数。

 

18.采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的成绩。

 

19.编写程序,逆转字符串。

 

20.编写程序,统计一个英语文本中的英语单词个数。

 

21.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

 

22.有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

 

23.找出101~200中所有的素数。

 

24.使用循环结构编写程序,打印出如下图案

*

***

*****

 

25.用冒泡排序法将10个整数由大到小排序。

 

26.输入任意正整数,编程判断该数是否为回文数(回文数是指从左到右读与从右到左读一样,如12321)。

 

27.求出10至1000之内能同时被2、3、7整除的数,并输出。

 

28.输入一字符串,检查是否回文(回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。

 

29.设计一个函数,用来判断一个整数是否为素数。

 

30.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

 

31.设计一个函数,用来判断一个整数是否为素数。

 

32.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

 

33.输入三个整型数,找出其中数值最大者并输出。

 

34.编写程序在屏幕上显示如下图形:

12345

51234

45123

34512

23451

 

35.编写猜数游戏,程序给定某个整数,从键盘上反复输入数据进行猜测。

如果未猜中,程序提示输入过大或者过小;如果猜中,则输出猜的次数,最多允许猜10次。

 

36.将一个数组中的值按逆序重新存放。

例如,原来顺序为a,b,c,d,e,f,g,现在顺序为g,f,e,d,c,b,a.(数组长度不限)

 

37.有一篇文章,共有3行文字,每行有80个字符。

要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。

 

38.求

 

39.将十个整数输入数组,求出其平均值并输出。

 

40.将十个实型数输入数组(floatn[10];)逆序存放后再输出。

 

41.编写程序:

输出x2的值,x取值从1到10。

(8’)

 

42.设计程序:

定义可以存储1000个整数的数组;在该数组中依次存入1到1000;在屏幕上打印出数组中所有17的倍数。

(10’)

 

43.设计一个函数,用来判断一个整数是否为素数;并在main()函数中调用该函数,在屏幕上打印出100以内的所有素数。

(12’)

 

44.写出一个函数,求n!

.(n!

=1*2*3*………*n)

 

45.使用一维数组计算学生的平均成绩。

用输入负数结束输入。

 

46.从键盘上输入一个3*3的矩阵,并求其主对角线元素的和。

 

47.写一个函数is_prime,判断整数n是否素数。

如果n是素数,则返回1;如果n不是素数,则返回0。

 

48.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。

如输入“a123BxC”,则输出“A123bXc”

 

49.任意输入10个整数,打印出10个数中的最大值

 

50.输入三个整数a,b,c,请按从小到大的顺序输出这三个数

 

51、输入一个整数n,请判断n是否是质数,如果是,打印n是质数,否则打印n不是质数

 

52,编程,先输入n,再输入n个实数并分别统计正数的和、负数的和,然后输出统计结果。

 

53.编程,输入a1、a2、...、a15后,计算下列表达式的值并输出。

 

54.编程,设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。

 

55.编程,从键盘上输入一个字符串,将其中的小写字母转换成大写字母,大写字母转换成小写字母,输入字符串以“!

”结束,将转换后的字符串输出到电脑屏幕。

2001初中】数的计数1004

TimeLimit:

1000MSMemoryLimit:

65536K

TotalSubmit:

1070Accepted:

688

Description

我们要求找出具有下列性质数的个数(包含输入的自然数n):

先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理

l•不作任何处理:

z•茬它的左边加上一个自然数,但该自然数不能超过原数的一半;

3•加上数后,继续按此规则进行处理,直到不能再而自然数为止。

输入:

6

满足条件的数为6(此部分不必输出)

16

26

126

36

136

输出:

6

Input

一个自然数n(n≤1000)

Output

满足条件的数的个数

SampleInput

6

SampleOutput

6

【2004初中】不高兴的津津1008

TimeLimit:

1000MSMemoryLimit:

65536K

TotalSubmit:

1184Accepted:

756

Description

津津上初中了。

妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。

另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。

但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。

假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。

请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

Input

输入文件unhappy.in包括七行数据,分别表示周一到周日的日程安排。

每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间

Output

输出文件unhappy.out包括一行,这一行只包含一个数字。

如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。

如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

SampleInput

53

62

72

53

54

04

06

SampleOutput

3

【模拟试题】猴子分桃1012

TimeLimit:

10000MSMemoryLimit:

65536K

TotalSubmit:

1008Accepted:

259

CaseTimeLimit:

1000MS

Description

有一堆桃子和N只猴子,第一只猴子将桃子平均分成了M堆后,还剩了1个,它吃了剩下的一个,并拿走一堆。

后面的猴子也和第1只进行了同样的做法,请问N只猴子进行了同样做法后这一堆桃子至少还剩了多少个桃子(假设剩下的每堆中至少有一个桃子)?

而最初时的那堆桃子至少有多少个?

Input

输入包含二个数据,数据间用空格隔开。

第一个数据为猴子的只数N(1≤N≤10),第二个数据为桃子分成的堆数M(2≤M≤7)。

Output

输出包含两行数据,第一行数据为剩下的桃子数,第二行数据为原来的桃子数。

SampleInput

32

SampleOutput

1

15

【2005普及】校门外的树1048

TimeLimit:

10000MSMemoryLimit:

65536K

TotalSubmit:

1045Accepted:

552

CaseTimeLimit:

1000MS

Description

某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。

我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。

由于马路上有一些区域要用来建地铁。

这些区域用它们在数轴上的起始点和终止点表示。

已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。

现在要把这些区域中的树(包括区域端点处的两棵树)移走。

你的任务是计算将这些树都移走后,马路上还有多少棵树。

Input

输入的第一行有两个整数L(1<=L<=10000)和M(1<=M<=100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。

接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。

Output

  输出包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。

SampleInput

  5003

  150300

  100200

  470471

SampleOutput

  298

Hint

  对于20%的数据,区域之间没有重合的部分;

  对于其它的数据,区域之间有重合的情况。

【NOIP2005提高】谁拿了最多奖学金1051

TimeLimit:

10000MSMemoryLimit:

65536K

TotalSubmit:

840Accepted:

420

CaseTimeLimit:

1000MS

Description

  某校的惯例是在每学期的期末考试之后发放奖学金。

发放的奖学金共有五种,获取的条件各自不同:

    1)院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;

    2)五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;

    3)成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;

    4)西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;

    5)班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;

  只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。

例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。

  现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

Input

  输入的第一行是一个整数N(1<=N<=100),表示学生的总数。

接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。

姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。

每两个相邻数据项之间用一个空格分隔。

Output

  输出包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。

如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。

第三行是这N个学生获得的奖学金的总数。

SampleInput

  4

  YaoLin8782YN0

  ChenRuiyi8878NY1

  LiXin9288NN0

  ZhangQin8387YN1

SampleOutput

  ChenRuiyi

  9000

  28700

【NOIP2004提高】津津的储蓄计划1058

TimeLimit:

10000MSMemoryLimit:

65536K

TotalSubmit:

860Accepted:

409

CaseTimeLimit:

1000MS

Description

  津津的零花钱一直都是自己管理。

每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。

  为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。

因此津津制定了一个储蓄计划:

每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

  例如11月初津津手中还有83元,妈妈给了津津300元。

津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。

到了11月月末,津津手中会剩下3元钱。

  津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。

有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。

如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。

  现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。

如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。

Input

  输入包括12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。

Output

  输出包括一行,这一行只包含一个整数。

如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到2004年年末津津手中会有多少钱。

SampleInput

290

230

280

200

300

170

340

50

90

80

200

60

SampleOutput

-7

【培训试题】最大子段和1079

TimeLimit:

10000MSMemoryLimit:

65536K

TotalSubmit:

1049Accepted:

473

CaseTimeLimit:

1000MS

Description

  给出一段序列,选出其中连续且非空的一段使得这段和最大。

Input

  输入文件的第一行是一个正整数N,表示了序列的长度。

  第2行包含N个绝对值不大于10000的整数A[i],描述了这段序列。

Output

  输入文件仅包括1个正整数,为最大的子段和是多少。

SampleInput

  7

  2-43-12-43

SampleOutput

  4

Hint

【数据规模与约定】

  对于40%的数据,有N≤2000。

  对于100%的数据,有N≤200000。

【基础试题】四位数分解(初级)1143

TimeLimit:

10000MSMemoryLimit:

65536K

TotalSubmit:

1472Accepted:

794

CaseTimeLimit:

1000MS

Description

  把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,(30+25)2=3025计算结果又等于原数。

求所有符合这样条件的四位数。

Input

  无

Output

  符合这样条件的四位数,每个之间用一个空格分开.

SampleInput

SampleOutput

【基础试题】最小公倍数(初级)1146

TimeLimit:

1000MSMemoryLimit:

65536K

TotalSubmit:

1367Accepted:

730

Description

  求两个自然数m,n的最小公倍数。

Input

  输入两个自然数m,n(0<=m,n<=10000)

Output

  输出最小公倍数

SampleInput

  1624

SampleOutput

  48

【基础试题】求m与n之间的素数1149

TimeLimit:

1000MSMemoryLimit:

65536K

TotalSubmit:

2264Accepted:

728

Description

  求m-n之间的所有素数

Input

  输入m,n(1<=m,n<=10000)

Output

  输出m,n之间所有素数

SampleInput

  410

SampleOutput

  57

【基础试题】简单阶乘求和1150

TimeLimit:

1000MSMemoryLimit:

65536K

TotalSubmit:

2136Accepted:

593

Description

  求1!

+2!

+…+n!

的值(n<20)

Input

  输入n

Output

  阶乘的和

SampleInput

  2

SampleOutput

  3

【基础试题】数列(初级)1153

TimeLimit:

1000MSMemoryLimit:

65536K

TotalSubmit:

899Accepted:

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为转折元素。

Input

  输入第一行为n;第二行为n个数;

Output

  输出所有的递增和递减子序列的数目

SampleInput

  9

  7 2 6 9 8 3 5 2 1

SampleOutput

  5

Source

【NOIP1996提高】砝码称重1290

TimeLimit:

10000MSMemoryLimit:

65536K

TotalSubmit:

508Accepted:

195

Description

设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),

Input

输入方式:

a1a2a3a4a5a6

(表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个)

Output

输出方式:

Total=N

(N表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)

SampleInput

110000(注:

下划线表示空格)

SampleOutput

TOTAL=3表示可以称出1g,2g,3g三种不同的重量

【基础试题】求最大值1526

TimeLimit:

10000MSMemoryLimit:

65536K

TotalSubmit:

958Accepted:

494

CaseTimeLimit:

1000MS

Description

  任意输入一个整数,再把它的各位数字次序打乱重新组合一个新的整数,使其值最大。

Input

  输入只有一行为1个整数。

Output

  输出只有一行为1个整数。

SampleInput

  132

SampleOutput

  321

【基础试题】输出图形1530

TimeLimit:

1000MSMemoryLimit:

65536K

TotalSubmit:

1067Accepted:

636

Description

  试编写程序输出以下图形。

Input

  一个数字n(n<=20)

Output

  输出对应图形

SampleInput

  4

SampleOutput

*******

*****

***

*

【基础试题】百钱买百鸡1533

TimeLimit:

1000MSMemoryLimit:

65536K

TotalSubmit:

1798Accepted:

544

Description

  一个炊事员上街采购,用100元钱买了100只鸡,其中母鸡一只x元,公鸡一只y元,小鸡一只z元,正好把钱买完。

问母鸡、公鸡、小鸡各买多少只(要求每种鸡至少要买一只)?

Input

  x,y,z

Output

  输出母鸡、公鸡、小鸡各买多少只,用空格分开

【基础试题】输出如下图形1535

TimeLimit:

1000MSMemoryLimit:

65536K

TotalSubmit:

654Accepted:

436

Description

  输出如下图形

Input

  输入一个数n

Output

  输出对应的图形

SampleInput

  3

SampleOutput

A

ABA

ABCBA

【基础试题】矩阵问题1551

TimeLimit:

10000MSMemoryLimit:

65536K

TotalSubmit:

5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1