C语言期末复习题-2019年12月
C语言期末复习题
韩国麦当劳
追风赶月莫停留,平芜尽处是春山。
展开
-
6-10 按等级统计学生成绩 (20分)
题目:本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。函数接口定义:int set_grade( struct student *p, int n );其中p是指向学生信息的结构体数组的指针,该结构体的定义为:struct student{int num;char name[20];int score;char grade;};n是数组元素个数。学...原创 2019-12-25 22:35:13 · 2902 阅读 · 0 评论 -
6-9 判断回文字符串 (20分)
题目:本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。函数接口定义:bool palindrome( char *s );函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。裁判测试程序样例:#include <stdio.h>...原创 2019-12-25 21:24:28 · 1175 阅读 · 0 评论 -
6-8 删除字符 (20分)
题目:本题要求实现一个删除字符串中的指定字符的简单函数。函数接口定义:void delchar( char *str, char c );其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。裁判测试程序样例:#include <stdio.h>#define MAXN 20void delcha...原创 2019-12-25 16:00:50 · 1492 阅读 · 0 评论 -
6-7 实现两个整数的交换 (10分)
题目:本题要求实现一个函数swap,实现两个整数的交换。函数接口定义:void swap ( int *a, int *b );其中 a 和 b 是用户传入的参数。裁判测试程序样例:#include <stdio.h>void swap ( int *a, int b );int main(){int x, y;scanf("%d %d", &x...原创 2019-12-25 15:42:48 · 3292 阅读 · 0 评论 -
6-6 求一组数中的最大值、最小值和平均值 (10分)
题目:编写函数,求一组数中的最大值、最小值和平均值。函数接口定义:float fun(int a[],int n,int *max,int *min);其中 a、n、max 和 min 都是用户传入的参数。函数求a数组中n个元素的最大值、最小值和平均值。最大值和最小值分别通过max 和 min带回,函数返回平均值 。裁判测试程序样例:#include <stdio.h>...原创 2019-12-25 15:38:30 · 16466 阅读 · 6 评论 -
6-5 在数组中查找指定元素 (15分)
题目:本题要求实现一个在数组中查找指定元素的简单函数。函数接口定义:int search( int list[], int n, int x );其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到则函数search返回相应元素的最小下标(下标从0开始),否则返回−1。裁判测试程序样例:#include <stdio.h>...原创 2019-12-25 15:31:21 · 3423 阅读 · 4 评论 -
6-4 使用函数求最大公约数 (10分)
题目:本题要求实现一个计算两个数的最大公约数的简单函数。函数接口定义:int gcd( int x, int y );其中x和y是两个正整数,函数gcd应返回这两个数的最大公约数。裁判测试程序样例:#include <stdio.h>int gcd( int x, int y );int main(){int x, y;scanf("%d %d", &...原创 2019-12-25 15:17:00 · 3988 阅读 · 0 评论 -
6-3 统计个位数字 (15分)
题目:本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。函数接口定义:int Count_Digit ( const int N, const int D );其中N和D都是用户传入的参数。N的值不超过int的范围;D是[0, 9]区间内的个位数。函数须返回N中D出现的次数。裁判测试程序样例:#include <...原创 2019-12-25 15:15:13 · 424 阅读 · 0 评论 -
6-2 递归求Fabonacci数列 (10分)
题目:本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:f(n)=f(n−2)+f(n−1) (n≥2),其中f(0)=0,f(1)=1。函数接口定义:int f( int n );函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。裁判测试程序样例:#include <stdio.h>int f( i...原创 2019-12-25 15:11:37 · 3036 阅读 · 0 评论 -
6-1 使用函数求1到10的阶乘和 (10分)
题目:本题要求实现一个计算非负整数阶乘的简单函数,使得可以利用该函数,计算1!+2!+⋯+10!的值。函数接口定义:double fact( int n );其中n是用户传入的参数,其值不超过10。如果n是非负整数,则该函数必须返回n的阶乘。裁判测试程序样例:#include <stdio.h>double fact( int n );int main(void)...原创 2019-12-25 15:08:01 · 5379 阅读 · 0 评论 -
7-13 通讯录排序 (20分)
题目:输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字...原创 2019-12-25 15:03:58 · 995 阅读 · 0 评论 -
7-12 查找书籍 (20分)
题目:给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Progra...原创 2019-12-25 15:01:40 · 544 阅读 · 0 评论 -
7-11 英文单词排序 (25分)
题目:本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。输入格式:输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。输出格式:输出为排序后的结果,每个单词后面都额外输出一个空格。输入样例:blueredyellowgreenpurpl...原创 2019-12-25 14:58:57 · 1946 阅读 · 0 评论 -
7-10 字符串逆序 (15分)
题目:输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。输入样例:Hello World!输出样例:!dlroW olleH代码:#include<stdio.h>#include<string.h>int main()...原创 2019-12-25 14:56:19 · 1242 阅读 · 0 评论 -
7-9 数组元素循环右移问题 (20分)
题目:一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2...原创 2019-12-25 14:54:49 · 1566 阅读 · 0 评论 -
7-8 求矩阵各行元素之和 (15分)
题目:本题要求编写程序,求一个给定的m×n矩阵各行元素之和。输入格式:输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:每行输出对应矩阵行元素之和。输入样例:3 26 31 -83 12输出样例:9-715代码:#include<stdio.h>#include<string.h>...原创 2019-12-25 14:47:12 · 21830 阅读 · 6 评论 -
7-7 冒泡法排序 (20分)
题目:将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:输入在第1行中给出N和K(1≤...原创 2019-12-25 14:44:50 · 613 阅读 · 0 评论 -
7-6 将数组中的数逆序存放 (20分)
题目本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。输入格式:输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。输入样例:410 8 1 2输出样例:2 1 8 10代码:#include<...原创 2019-12-25 14:42:35 · 1152 阅读 · 0 评论 -
7-5 求n以内最大的k个素数以及它们的和 (20分)
题目:本题要求计算并输出不超过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+9...原创 2019-12-25 14:40:10 · 8122 阅读 · 0 评论 -
7-4 求整数的位数及各位数字之和 (15分)
题目:对于给定的正整数N,求它的位数及其各位数字之和。输入格式:输入在一行中给出一个不超过109的正整数N。输出格式:在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。输入样例:321输出样例:3 6代码:#include<stdio.h>int main(){ int a,b=0,c=0; scanf("%d",&...原创 2019-12-25 14:35:39 · 4700 阅读 · 0 评论 -
7-3 出租车计价 (15分)
题目:本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元;超起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%的回空补贴费,即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。输入格式:输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位...原创 2019-12-25 14:32:52 · 5913 阅读 · 0 评论 -
7-2 计算天数 (15分)
题目:本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出...原创 2019-12-25 14:28:34 · 1047 阅读 · 0 评论 -
7-1 成绩转换 (15分)
题目:本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入格式:输入在一行中给出一个整数的百分制成绩。输出格式:在一行中输出对应的五分制成绩。输入样例:90输出样例:A代码:#include<stdio.h>in...原创 2019-12-25 14:17:39 · 1857 阅读 · 0 评论