类型题目序号题目内容难度等级(四等)第几次上机基本应用1.输入三个系数、求一元二次方程ax2+bx+c=0的根,要求考虑a=0、实数根和复数根的情况312.有三个整数a,b,c,由键盘输入,输出其中最大者113.有分段函数:当x-5时,y=x+10;当-5≤x≤5时,y=x/2;当x5时,y=2x-10.编一程序,输入x的值,输出y的值114.输入一行字符,将此字符串中最长的单词输出315.输入三角形的三边长,求三角形面积。求三角形面积的公式为area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2。116.输入学生的百分制成绩,将学生的成绩转换成五分制输出(先保留,学生分题的时候用了序号)117.编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能被100整除,或者可以被400整除118.一个球从X米高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米219.编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两11位数字10.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式为c=5/9(f-32)1111.用pi4≈1-1/3+1/5-1/7+...公式求pi的近似值,直到某一项的绝对值小于10的-6次方为止2112.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符2113.输入整数n,求数列1+1/2+1/3+1/4+1/5+...1/n结果2114.求S=a+aa+aaa+...+aa...a(n个a)之值。其中a是一个数字,n代表a的位数。例如:2+22+222+2222+22222(此时n为5),n由键盘输入2115.给出一百分制的成绩,要求数出成绩等级’A’,’B’,’C’,’D’,’E’;90分以上为’A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。1116.输入一行以‘?’为结束的字符串,分别统计其中的英文字符,空格,数字字符和其它字符的个数2117.输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符1118.输出整数X,Y之间的所有完数。X,Y从键盘输入。说明:一个数如果恰好等于它的因子之和,这个数称为“完数”,例如6=1+2+33119.打印出所有的水仙花数,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153为水仙花数,即153=13+53+331120.输出整数X,Y之间的所有素数,X,Y从键盘输入。2121.输入字符串,输出其长度1122.输入两整数,求它们的最大公约数和最小公倍数2123.编一个程序,将两个字符串S1和S2比较,如果S1S2,输出一个正数;S1=S2,输出0;S1S2,输出一个负数。不要用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,’A’与’C’相比,由于’A’’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出-2。同理:And和Aid比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出5。3124.输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出1_9_9_02125.输入一串字符,以’?’结束,分别统计其中每个数字字符‘0’,‘1’,……‘9’出现的次数21排序1.将一组整数逆序输出212.一个已经按升序排好序的数组。现输入一个数,要求按原来的规律将它插入数组中213.有n个人围成一圈,顺序排号(编号为n的人的下一个人编号为1)。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。314.设整数数组中的元素按照值的升序存放,写一个函数,用折半查找法查找一个给定的值是否在数组中,找到返回值是该数在数组中的下标位置,找不到,返回值为-1。315.用选择法对10个数进行从小到大的排序316.用冒泡法对10个数进行从小到大的排序21二维数组1.求一个N*N矩阵对角线元素之和212.计算两矩阵相乘:设有矩阵A有M*L个元素,矩阵B有L*N个元素,则矩阵C=A*B有M*N个元素313.输出下面二维数组中的最大元素及其下标214.将一个3*3的整形矩阵转置21结构体1.定义一个结构体变量存放日期(包括年、月、日),计算该日在本年中是第几天332.假设一个班有n(n=50)个学生,每人考m(m=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量333.大学生运动会成绩管理系统,记录某校运动会上的运动项目,包括50、100、200,400,1500米,跳高,跳远,标枪,铅球铁饼等。实现按团体总分高低排出院系团体名次及总分334.构建简单的手机通讯录,通讯录中联系人的基本信息包括:姓名、手机号码、办公室电话、邮箱地址、住址等信息。实现根据姓名查询联系人功能。找到输入该人的信息,否则输出“无此人”。335.个人帐簿管理系统记录某人的全部日常各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费等。要求输出某一年中每月的开支排列(按金额从大到小进行排序)336.设用字符数组存储一个人阅读文章的内容,要求找出已阅读的内容相同(对应的字符相同,阅读量相差在5%之内)的人员集合。437.设用字符数组存储一个人阅读文章的内容,要求找出阅读的文章内容相近的人员集合。文章内容相近的定义是:设文章由单词构成,单词之间由空格间隔,文章的单词组定义为文章中所有不重复出现的单词的集合,若两篇文章中单词组中不相同的单词个数不超过5%,则认为两篇文章的内容相近438.地区的城市分布可以用一个图形表示,顶点表示城市,边表示城市之间的道路,边上的权表示道路的长度,城市的信息包括城市的人口数量,城市的地理位置(经度和纬度),城市的名称等,定义姐妹城市为:两城市的经度或纬度相差不超过5度,人口数量之差不超过5万人,且两城市之间有直接相连的道路,编程序找出地区中所有的姐妹城市对439.地区的城市分布可以用一个图形表示,顶点表示城市,边表示城市之间的道路,边上的43权表示道路的长度,城市的信息包括城市的人口数量,城市的地理位置(经度和纬度),城市的名称等,定义姐妹城市为:两城市的经度或纬度相差不超过5度,人口数量之差不超过5万人,且两城市之间有直接相连的道路限定两城市之间有间接相连的道路,多个满足条件的城市构成姐妹城市群,找出地区中的所有姐妹城市群10.分配房间问题:按房间容量从小到大的次序输入20个房间号及房间容量,组成结构体数组。再输入若干班号和班级人数。对于这些班,依输入次序按人数分配最合适的房间。输出班号,人数,有无房间分配给该班,及分配房号,容量(人数)。注意:一个房间只能分配给一个班,一个班也只能分配一个房间。提示:定义两个结构体数组,第一个结构体包括房间号,容量,是否已经分配;第二个结构体包括班号,人数,是否有房间分配给该班,分配的房号,容量(人数)4311.利用结构体方式定义日期,日期的格式采用YYYY/MM/DD的格式,输入两个日期数据,输出两个之间的相差天数。3312.利用结构体方式定义日期,日期的格式采用YYYY/MM/DD的格式,输入一个日期数据和整型数据N,输出N天之后的日期。3313.利用结构体方式定义日期,日期的格式采用YYYY/MM/DD的格式,输入一个日期数据和整型数据N,输出N天之前的日期。3314.利用结构体方式定义时间,时间的格式采用YYYY/MM/DDhh:mm:ss的格式,输入两个时33间数据,计算两个不同时间之间相差的秒数15.已知一组学生信息(学号,姓名,出生日期,出生时刻,籍贯),目前能够确认这组学生中包含若干对双胞胎,请你编写程序,识别出所有的双胞胎,并输出全部双胞胎信息。双胞胎的识别要根据姓名(同姓),出生日期(同一天),出生时刻(相差5分钟),籍贯(相同)等4个信息共同决定。3316.已知有A、B两组球队参加比赛,每组有8支队伍(队伍名称,胜场数、平场数、负场数,排名),首先进行小组赛,然后进行淘汰赛,请根据比赛成绩给出第二轮对阵关系图。说明:小组赛中成绩的计算方法胜一场得3分,平一场得1分,负一场得0分,如果总得分相同,则按照队伍名称的字母顺序升序排列。淘汰赛的对阵方式为A1vsB8,A2vsB7,A3vsB6,A4vsB5,A5vsB4,A6vsB3,A7vsB2,A8vsB14317.学校组织若干队伍学生进行辩论会比赛,每个队伍由四名同学组成,分别担任第一辩手、第二辩手,第三辩手和第四辩手,若干评委需要为队伍进行整体打分以及为每个辩手单独打分,整体打分项和个人打分项包含辩驳能力、风度、语言表达和论据内容等4项。请你编写程序实现根据每个评委的打分,完成队伍排名和个人辩手排名。说明:单项综合计分方法为去掉评委中的一个最高分和一个最低分之后的平均分33文件1.从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件3“test”中保存。输入的字符串以!结束2.有一个磁盘文件存放了职工的数据,职工的数据包括:职工号,姓名,性别,年龄,住址,工资,健康状况,文化程度,今要求只将职工的姓名、工资数据抽出另建一个简明的职工工资文件。33.有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,原有的数据和计算出的平均分数存放在磁盘文件stud中34.有10个学生,每个学生的数据包括学号、姓名、3门课的成绩。从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及具有最高平均分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)35.提取文件中所有出现的单词,统计每个单次出现的频次,按出现的频次由高到底输出到另外一个文件中36.有一行电文译文下面规律译成密码:A-Za-zB-Yb-yC-Xc-x…3是否必须用文件即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文7.设有一个整数文件,对文件中的整数求和,并计算平均值输出3链表1.检测两条链表是否存在相同元素,假设有两条带头结点的链表A、B,A中存储的数据有10、12、15、39、78、28,B中存储的数据有12、13、24、39、56、78,则输出39、78。342.在双向链表中,A有一个指针指向了节点B,同时,B又有一个指向A的指针。这样不仅能从链表头节点的位置遍历整个链表所有节点,也能从链表尾节点开始遍历所有节点。对于给定的一列数据,按照给定的顺序建立双向链表,按照关键字找到相应节点,输出此节点的前驱节点关键字及后继节点关键字443.通常在数学中对一元n次多项式可表示成如下形式:nnnnnxaxaxaxaaxP112210...)(本题目要求采用带头结点的链表实现两个一元多项式的加运算,运算结果存储在新的链表中,并打印运算444.创建一个链表。将新生成的结点放在链表的前面。设链表中只有一个整数数据域,从键盘中输入链表结点中的整数,以0表示输入结束345.已知有两个链表a,b,每个链表中的节点包括学号、成绩,每个链表都是按学号升序从前向后排列节点,写一个函数将两链表合并,合并后的链表仍然按学号升序排列346.利用带头结点的单链表实现长整数的加法运算,假设有2个带头结点的链表存储了2个大整数A=1234567890123456789,B=98765432109876543210(链表中的每个节点存放大整数中的一位数字),求A+B的结果,并显示。(结果存放在一个新的大整数链表中)447.利用带头结点的单链表实现长整数的减法运算,假设有2个带头结点的链表存储了2个大整数A=1234567890123456789,B=987654321098