C语言期末复习,经典练习题+知识点总结+模拟考题三位一体,完胜c语言{考期必备神器}.docx
《C语言期末复习,经典练习题+知识点总结+模拟考题三位一体,完胜c语言{考期必备神器}.docx》由会员分享,可在线阅读,更多相关《C语言期末复习,经典练习题+知识点总结+模拟考题三位一体,完胜c语言{考期必备神器}.docx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言期末复习寻常练习答案特别适用于千千万北航学子考试重点:编程题排序,选择与冒泡排序 , 各 种 进 制 转 换 。 printf(“Input a number:“); scanf(“%c“,&c);/*从键盘输入一个字符*/printf(“ %c %c %cn“,c-1,c,c+1);/*第一行依据从小到大的挨次输出这三个字符,并以一个空格隔开*/printf(“ %d %d %d“, c-1,c,c+1);/*其次行依据从小到大的挨次输出三个字符对应的ASCII 值,并以一个空格隔开。*/return 0;1 / 30其次次大作业 前驱、后继字符1. 【问题描述】 从键盘输入一个字符
2、, 求出它的前驱和后继字符依据 ASCII 码值排序,并依据从小到大的挨次输出这三个字符和对应的ASCII 值。 【输入形式】 从键盘输入一个字符 【输出形式】 按两行输出: 第一行依据从小到大的挨次输出这三个字符,并以一个空格隔开; 其次行依据从小到大的挨次输出三个字符对应的ASCII 值,并以一个空格隔开。【输入样例】b【输出样例】 a b c 97 98 99 【样例说明】 输入字符b,b 的前驱字符是a,后继字符是c,第一行依据从小到大的挨次输出a b c;其次行输出对应的ASCII 值 97 98 99 【评分标准】 结果完全正确得 20 分,每个测试点4 分。提交程序名为:c010
3、3.c。/*从键盘输入一个字符,求出它的前驱和后继字符依据 ASCII 码值排序,并依据从小到大的挨次输出这三个字符和对应的ASCII 值。*/#include int mainchar c=“ “;当前编程题:其次次大作业 -数值变换2. 【问题描述】 编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,假设输入的数不是三位正整数,则输出1。 【输入形式】 从键盘输入三位的正整数。 【输出形式】 输出交换后的正整数值。【输入样例】 356 【输出样例】 653【样例说明】从键盘输入的正整数值为 356, 将该数的个位与百位互换,所得结果为 653. 假设输入的正整数为 300,则
4、输出为 3。【评 分标准】 结果完全正确得 20 分,每个测试点 4 分。提交程序名为:c0102.c。/*编写一程序,从键盘输入输入一个三 位正整数,然后反向输出对应的数,假设输入的数不是三位正整数,则输出1。 */ #include void maininta,d,e,f,sum;/*定义变量*/printf(“请输入一个三位正整数,n“); scanf(“%d“,&a);/*输入一个数*/ if(a0)/*对输入的值的正负做推断*/d=a/100;e=(a-d*100)/10; f=a%10;sum=100*f+10*e+d; printf(“%dn“,sum);/*输出交换后的正整数值
5、。*/elseprintf(“-1n“);当前编程题:其次次大作业-正整数的打印4. 【问题描述】给出一个不多于 5 位的正整数,要求:1.求出它是几位数。2.分别打印出每一位数字。3.依据逆序/*假设输入的数不是三位正整数,则输出打印出每一位数字。 【输入形式】把握台1*/输入该正整数。 【输出形式】把握台分行输出输出结果。 【样例输入】1234 【样例输出】 4 1234 4321 【样例说明】1234 位当前编程题:其次次大作业 -计算平均值数为 4,分别为 1,2,3,4,逆序为 4321 【评3. 【问题描述】 从键盘输入三个整数,分别存入 x,y,z 三个整型变量中,计算并输出三个
6、数的和以及平均值。 【输入形式】 从键盘输入三个整数,整数之间以空格隔开。【输出形式】 在屏幕上分两行显示结果: 第一行为三个数的和,整数形式输出; 其次行为三个数的平均值,浮点数形式输出, 小数点后保存两位小数。【输入样例】 3 2 3 【输出样例】 8 2.67 【样例说明】 3、2、3 的和为 8,所以第一行输出 8; 其次行输出 3、2、3 的平均值 2.67保存两位小数。【评分标准】 结果完全正确得 20 分,每个测试点 4 分。提交程序名为:c0101.c。/*从键盘输入三个整数,分别存入 x,y,z 三个整型变量中,计算并输出三个数的和以及平均值*/#include int ma
7、inintx,y,z,sum;/*定义变量*/float average; scanf(“%d%d%d“,&x,&y,&z);/*从键盘输入三个整数,整数之间以空格隔开*/sum=x+y+z;average=(float)sum/3;/*第一行为三个数的和,整数形式输出;*/printf(“%dn“,sum); printf(“%.2fn“,average);/* 其次行为三个数的平均值,浮点数形式输出,小数点后保存两位小数*/return 0;分标准】该题共有三个输出整数,完全正确得 10 分,每答错一个扣掉 4 分,直至得分为0。此题要求上传程序的源文件。所承受语言可以是 C(.c)。主文
8、件名设定为 intprint.c/*给出一个不多于 5 位的正整数,要求: 1.求出它是几位数。2.分别打印出每一 位数字。3.依据逆序打印出每一位数字。*/ #include void mainlong int a;int n,b,c,d,e,f;printf(“n 请输入一个整数(099999):“); scanf(“%d“,&a);if(a9999)n=5;elseif(a999)n=4;elseif(a99)n=3;elseif(a9)n=2;elsen=1;printf(“n 这个数的位数=%dn“,n);f=a/10000; e=a%10000/1000; d=a%10000%10
9、00/100;c=a%10000%1000%100/10;b=a%10000%1000%100%10;switch(n)case 5: printf(“%d%d%d%d%dn“,f,e,d,c,b);printf(“%d%d%d%d%dn“,b,c,d,e,f);break;case 4: printf(“%d%d%d%dn“,e,d,c,b);printf(“%d%d%d%dn“,b,c,d,e);break;case 3: printf(“%d%d%dn“,d,c,b);printf(“%d%d%dn“,b,c,d);break;case 2: printf(“%d%dn“,c,b);pr
10、intf(“%d%dn“,b,c);case 1:printf(“%dn“,b);printf(“%dn“,b);2. 输入一个字符作为运算符op,op 可以是+,-,*,/。 输入时,data1、data2、 op 之间各留有一个空格。具体格式见样例输入。 【输出形式】 把握台输出运算结果。作除法运算时,假设能够整除,则输出为整数,否则输出结果小数点后应保存两位有效数字。 【样例输入】 23 5 *【样例输出】 115【样例说明】 输入中先后输入第一个运算数 23,其次个运算数 5,运算符*,要求对 23 和 5 进展乘法运算。计算结果为 115。 【评分标准】 该题共 20 分,每个测试点
11、 4 分。 此题要求上传程序的源文件。所承受语言可以是 C(.c).即所上传的文件名为 calculator.c/*编程实现简易的计算器:读入两个整数运算数(data1 和 data2)及一个运算符(op), 计算表达式 data1 op data2 的值, 其中 op 可以是+,-,*,/。 */#include int mainintdata1,data2,c;/定义变量/double d; char op;scanf(“%d%d%c“,&data1,&data2,&op);/输入运算数和运算符/ if(op=”+”)/进展推断/c=data1+data2; printf(“%d“,c);
12、elseif(op=”-”)当前编程题:其次次大作业 -简易计算器5.【问题描述】编程实现简易的计算器: 读入两个整数运算数(data1 和 data2)及一个运算符(op),计算表达式 data1 op data2 的值, 其中 op 可以是+,-,*,/。 【输入形式】elsec=data1-data2; printf(“%d“,c);if(op=”*”)把握台输入运算数和运算符: 1.首先输入以空格分隔的两个整数,分别是 data1 和 data2;c=data1*data2;printf(“%d“,c);else if(op=”/”)d=(double)data1/data2; pri
13、ntf(“%.2f“,d);return 0;平面上有两个矩形A 和B,其位置是任意的。编程求出其相交局部如图中阴影局部的面积。0a,b1000【输入形式】从标准输入读取两行以空格分隔的整数,格式如下:找最大最小整数1. 【问题描述】编写一个程序,用户输入假设干整数,试找出其中的最大数和最小数。【输入形式】用户在第一行待输入数据个数, 在其次行输入数据。【输出形式】程序在下一行输出数据的最大值和最小值【样例输入】589 62 96 74 52【样例输出】96 52【样例说明】用户第一次输入的为数据个数, 在下一行依次输入数据。输出为 5 个数中的最大值和最小值,输出时候两个数之间用空 格分隔。
14、【评分标准】结果完全正确得 20 分,每个测试点 4 分。提交程序名为:getmaxandmin.c矩形相交2. 【问题描述】Ax1 Ay1 Ax2 Ay2 Bx1 By1 Bx2 By2其中x1,y1和x2,y2为矩形对角线上端点的坐标。各坐标值均为整数,取值在0 至 1000 之间。【输出形式】向标准输出打印一个整数,是两矩形相交局部的面积可能为 0。在输出末尾要有一个回车符。【输入样例】0 0 2 21 1 3 4【输出样例】1【评分标准】结果完全正确得 20 分,每个测试点 4 分, 提交程序文件名为 area.c。红色为承受答案#include #include struct poi
15、nt int x;int y;A1,A2,B1,B2;struct rect struct point p1;struct point p2;R1,R2;struct point makepoint(int x,int y);struct rect makerect(struct point p1,structpoint p2);struct rect guifanrect(struct rect R);#define max(A,B) (A)(B)?(A):(B)#define min(A,B) (A)(B)?(B):(A)main5 / 30int i,num14,num24,area;f
16、or(i=0;i4;i+)scanf(“%d“,&num1i);for(i=0;i4;i+)scanf(“%d“,&num2i);R1=makerect(A1=makepoint(num10,num11),A2 = makepoint(num12,num13);R2=makerect(B1=makepoint(num20,num21),B2 = makepoint(num22,num23);R1 = guifanrect(R1);R2 = guifanrect(R2);if( R1.p2.x = R2.p1.x | R1.p2.y = R2.p2.x | R1.p1.y = R2.p2.y)a
17、rea = 0;elsearea=abs(max(R1.p1.x,R2.p1.x)-min(R1.p2.x, R2.p2.x) *abs(max(R1.p1.y, R2.p1.y) - min(R1.p2.y,R2.p2.y);printf(“%dn“,area);struct point makepoint(int x,int y)struct point temp;temp.x = x;temp.y = y;return temp;struct rect makerect(structpoint p2)pointp1,structstruct rect temp;temp.p1 = p1;
18、temp.p2 = p2;return temp;struct rect guifanrect(struct rect r)struct rect temp;temp.p1.x = min (r.p1.x, r.p2.x);temp.p1.y = min (r.p1.y, r.p2.y);temp.p2.x = max (r.p1.x, r.p2.x);temp.p2.y = max (r.p1.y, r.p2.y);return temp;3. 【问题描述】编写一个程序,当在一个字符串中消灭子串时就删除它。【输入形式】用户在第一行输入一个字符串, 用户在其次行输入一个子串。【输出形式】程序在
19、下一行输出删除其中全部子串后的字符串。假设字符串不包含子串则输出原字符串本身。【样例输入】I am a boy! a【样例输出】I mboy!【样例说明】用户首先输入字符串 I am a boy!,然后输出子串 a,程序会查找字符串中的子串删除它,最终 将删除后的结果输出:I#m#boy! #表示空格。【评分标准】结果完全正确得 20 分,每个测试点 4 分。提交程序名为:delsubstring.c。#include #include char source_str1024; char del_str1024; char dest_str1024;int main( void )char *
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习 经典 练习题 知识点 总结 模拟 考题 三位一体 完胜 考期 必备 神器
限制150内