[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}

合集下载

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。

答案:int7. C语言中,用于输入输出的库函数分别是______和______。

答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。

答案:int*9. C语言中,用于定义函数的关键字是______。

答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。

答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。

答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。

结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。

答案:递归函数是一种函数自己调用自己的特殊函数。

递归函数通常用于解决可以被分解为相似子问题的问题。

递归函数需要有一个明确的终止条件,以防止无限递归。

四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。

答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。

[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}

[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}

C语言期末复习(平时练习答案)[特别适用于千千万北航学子]考试重点:(编程题)排序,选择与冒泡排序,,各种进制转换。

]第二次大作业—前驱、后继字符1. 【问题描述】从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。

【输入形式】从键盘输入一个字符【输出形式】按两行输出:第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开;第二行按照从小到大的顺序输出三个字符对应的ASCII 值,并以一个空格隔开。

【输入样例】 b 【输出样例】 a b c 97 98 99 【样例说明】输入字符b,b的前驱字符是a,后继字符是c,第一行按照从小到大的顺序输出a b c;第二行输出对应的ASCII值97 98 99 【评分标准】结果完全正确得20分,每个测试点4分。

提交程序名为:c0103.c。

//*从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。

*//#include<stdio.h>int main(){char c=" ";printf("Input a number:");scanf("%c",&c); //*从键盘输入一个字符*//printf(" %c %c %c\n",c-1,c,c+1);//*第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开*//printf(" %d %d %d", c-1,c,c+1);//*第二行按照从小到大的顺序输出三个字符对应的ASCII值,并以一个空格隔开。

*//return 0;}当前编程题:第二次大作业---数值变换2. 【问题描述】编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。

C语言期末考试复习题及答案优选稿

C语言期末考试复习题及答案优选稿

C语言期末考试复习题及答案集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)C语言期末考试复习题及答案一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上。

答在试卷上不得分。

(1)C语言规定:在一个源程序中,main函数的位置 D 。

A)必须在最后 B)必须在系统调用的库函数的后面。

C)必须在最开始。

D)可以任意(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。

A)必须为字母或下划线。

B)必须为下划线。

C)必须为字母 D)可以是字母、数字和下划线中的任一种字符。

(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是B 。

A)-10 0x8f -011 B) 010 -0x11 0xf1C) 0abc -017 0xc D) 0a12 -0x123 -0xa(4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。

A)0 ~ 65535 B)0 ~ 32767C)-32767 ~ 32768 D)-32768 ~ 327687(5) 若有定义:int a = 7; floa x = 2.5 , y = 4.7 ;则表达式 x + a % 3 * (int) (x + y) % 2/4 的值是D 。

A) 2.750000 B) 0.00000 C) 3.500000 D)2.500000(6)已知ch是字符型变量,下面不正确的赋值语句是 B 。

A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ;(7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的是 A 。

C语言期末复习.doc

C语言期末复习.doc

C语言期末复习.doc第一章C语言概述一、选择题1、C语言程序由什么组成()A、子程序B、主程序和子程序C、函数D、过程2、源程序要正确地运行,必须要有什么函数()A、Printf函数B、自定义的函数C、main函数D、不需要函数3、指出下面哪些是合法的标识符()A、3abB、intC、ABCD、a_3E、sum..aF、#abcG、_stu2H、abc f二、问答题1、C语言程序由哪几部分组成?C语言程序结构有什么特点?参考答案一、选择题1、C2、C二、问答题见教案第二章基本数据类型、运算符及表达式一、选择题1、C语言中的数据的基本类型包括()A、整型、实型、字符型和逻辑型B、整型、实型、字符型和结构体C、整型、实型、字符型和枚举型D、整型、实型、字符型和指针型2、在C语言中,不合法的int型常量是()A、32767B、0678C、0XABCD、32768L3、在C语言中,运算对象必须是整型数的运算符是()A、%B、\\C、%和\\D、**4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A、1B、2C、2.0D、2.55、若t为double类型,表达式t=1,t+5,t++的值就是()A、1B、6.0D、1.06、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、27、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____A、22B、264C、144D、-264二、问答题:1、简述‘a’和“a”的区别。

参考答案一、选择题1、C2、D3、A4、D5、D6、C7、D二、问答题‘a’是字符常量“a”是字符串常量C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。

C语言规定以字符’\\0’作为字符串结束标志。

如果有一个字符串”china”,实际上在内存中是占内存不是5个字节,而是6个字节,最后一个是’\\0’。

c语言期末复习试题附答案

c语言期末复习试题附答案

c语言期末复习试题附答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项不是合法的数据类型?A. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。

答案:42. C语言中,一个浮点型数据占____个字节。

答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。

答案:正确4. 在C语言中,关系运算符“==”和“!=”的优先级高于“<”、“>”、“<=”、“>=”。

大一C语言期末考试参考资料【新版精品资料】

大一C语言期末考试参考资料【新版精品资料】

C 语言总复习总体上必须清楚的:1)程序结构是三种:顺序结构, 循环结构(三个循环结构),选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式。

数据存放的位置就是他的地址.4)bit是位是指为0 或者1。

byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。

概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。

C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中.2、每个C语言程序中main函数是有且只有一个.3、在函数中不可以再定义函数。

4、算法的是一定要有输出的,他可以没有输入。

5、break可用于循环结构和switch语句。

6、逗号运算符的级别最低。

第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。

有其它元素就错了.并且第一个必须为字母或则是下划线。

第一个为数字就错了。

关键字不可以作为用户标识符号。

main define scanf printf 都不是关键字。

迷惑你的地方If是可以做为用户标识符。

因为If中的第一个字母大写了,所以不是关键字.2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2。

333×10—1。

考试口诀:e前e后必有数,e后必为整数。

.3)字符数据的合法形式::'1' 是字符占一个字节,”1"是字符串占两个字节(含有一个结束符号)。

’0’的ASCII数值表示为48,'a' 的ASCII数值是97,’A’的ASCII数值是65。

4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。

碰到这种情况,不要去管,一样做题。

掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了.5)转义字符的考查:在程序中int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在.在程序中int a = 06d, 是一个八进制的形式。

[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}

C语言期末复习(平时练习答案)[特别适用于千千万北航学子]考试重点:(编程题)排序,选择与冒泡排序,,各种进制转换。

]第二次大作业—前驱、后继字符1. 【问题描述】从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。

【输入形式】从键盘输入一个字符【输出形式】按两行输出:第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开;第二行按照从小到大的顺序输出三个字符对应的ASCII 值,并以一个空格隔开。

【输入样例】 b 【输出样例】 a b c 97 98 99 【样例说明】输入字符b,b的前驱字符是a,后继字符是c,第一行按照从小到大的顺序输出a b c;第二行输出对应的ASCII值97 98 99 【评分标准】结果完全正确得20分,每个测试点4分。

提交程序名为:c0103.c。

//*从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。

*//#include<stdio.h>int main(){char c=" ";printf("Input a number:");scanf("%c",&c); //*从键盘输入一个字符*//printf(" %c %c %c\n",c-1,c,c+1);//*第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开*//printf(" %d %d %d", c-1,c,c+1);//*第二行按照从小到大的顺序输出三个字符对应的ASCII值,并以一个空格隔开。

*//return 0;}当前编程题:第二次大作业---数值变换2. 【问题描述】编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。

答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。

整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。

每种数据类型都有其特定的取值范围和占用内存大小。

2. 请解释C语言中的数组和指针的区别。

答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。

指针是一个变量,它存储另一个变量的内存地址。

数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。

二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。

答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

C语言期末考试全部知识点复习资料重点常考点

C语言期末考试全部知识点复习资料重点常考点C语言知识点复习资料考试就是难得的训练自己的机会,在特定的时间、特定的地点、特定的气氛下,您需要调动各方面的能力。

而在每一次考试中,我都下意识地应用自己摸索出来的“目标控制法”,做到了每次考试有有收获与进步。

每次考试前,我都会在一张白纸上写满通过本次考试要达到的目标:要注意克服哪些易犯的错误,尤其就是要克服前几次考试中暴露出来的共性的失误;要积累哪些经验,应用哪些技巧,比如选择题中的特征值法;要在多长的时间内完成卷面各部分,比如,争取35分钟内完成数学试卷中的选择题与填空题;要培养锻炼哪些考试应试的心理素质等。

也就就是说,我们要把考试瞧成就是一个完整的流程,包括考前准备、考场发挥与考后调整三个阶段。

同学中存在的误区往往就是只注意考前的准备与考场的发挥两个阶段,对考后调整注意不够。

事实上,高考之前的每一次模拟考试,最重要的就就是考试后的总结与反思,只有这样,才能认识到自己的薄弱环节,不断提高考试能力。

所以,有心的同学一定要注意做好健全的考后调整,不断提高自己的实力。

总体上必须清楚的:1.程序中基本的控制结构就是三种: 顺序结构、选择结构(分支结构)、循环结构。

2.读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。

3.计算机的数据在电脑中保存就是以二进制的形式、数据存放的位置就就是它的地址、4.bit就是位就是指为0 或者1。

byte 就是指字节, 一个字节 = 八个位、5、编译预处理不就是C语言的一部分,不占运行时间,不要加分号。

(常考!)#define PI 3、1415926; 这个写法就是错误的,一定不能出现分号。

6、每个C语言程序中main函数就是有且只有一个。

7、用C语言编写的程序称为源程序,扩展名就是、c。

C程序必须经过编辑、编译、链接、运行四个步骤才可得到运行结果。

注意、c 与、obj文件时无法运行的,只有、exe文件才可以运行。

c语言期末必背知识点大一

c语言期末必背知识点大一在大一期末的C语言考试中,有一些知识点是必须要掌握和背诵的。

这些知识点涵盖了C语言的基本概念、语法规则以及常见的编程技巧。

下面将详细介绍这些知识点,以便同学们在考试中能够取得好成绩。

1. C语言基本概念1.1 编程语言的定义和分类C语言属于过程式编程语言,是一种高级程序设计语言。

1.2 C语言的特点C语言具有可移植性好、执行效率高和语法简洁等特点。

1.3 C语言的编译过程C语言的编译过程包括预处理、编译、汇编和链接四个阶段。

2. C语言的程序结构2.1 C语言程序的基本组成部分C语言程序由函数、语句和表达式组成。

2.2 C语言程序的语法规则C语言程序的语法规则包括标识符的命名规则、语句和表达式的结构等。

2.3 C语言程序的注释方法C语言程序的注释方法包括单行注释和多行注释。

3. C语言的数据类型3.1 基本数据类型C语言的基本数据类型包括整型、浮点型和字符型等。

3.2 派生数据类型C语言的派生数据类型包括数组、结构体和枚举等。

4. C语言的运算符和表达式4.1 算术运算符C语言的算术运算符包括加法、减法、乘法、除法和求余等。

4.2 关系运算符C语言的关系运算符用于比较两个值的大小关系。

4.3 逻辑运算符C语言的逻辑运算符用于处理逻辑表达式的真假值。

4.4 条件运算符C语言的条件运算符用于简化条件判断语句的编写。

5. C语言的控制语句5.1 顺序结构顺序结构是C语言中最基础的控制结构,按照代码编写的顺序依次执行。

5.2 分支结构C语言的分支结构包括if语句、switch语句等,用于根据条件选择执行不同的代码块。

5.3 循环结构C语言的循环结构包括for循环、while循环和do-while循环等,用于重复执行一段代码。

6. C语言的函数和数组6.1 函数定义和调用函数是C语言中的一种独立的代码块,可以在程序中重复使用。

6.2 数组的定义和使用数组是一种用于存储多个相同类型数据的数据结构,可以通过下标访问其中的元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言期末复习(平时练习答案)[特别适用于千千万北航学子]考试重点:(编程题)排序,选择与冒泡排序,,各种进制转换。

]第二次大作业—前驱、后继字符1. 【问题描述】从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。

【输入形式】从键盘输入一个字符【输出形式】按两行输出:第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开;第二行按照从小到大的顺序输出三个字符对应的ASCII 值,并以一个空格隔开。

【输入样例】 b 【输出样例】 a b c 97 98 99 【样例说明】输入字符b,b的前驱字符是a,后继字符是c,第一行按照从小到大的顺序输出a b c;第二行输出对应的ASCII值97 98 99 【评分标准】结果完全正确得20分,每个测试点4分。

提交程序名为:。

【问题描述】编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。

【输入形式】从键盘输入三位的正整数。

【输出形式】输出交换后的正整数值。

【输入样例】 356 【输出样例】 653 【样例说明】从键盘输入的正整数值为356,将该数的个位与百位互换,所得结果为653.如果输入的正整数为300,则输出为3。

【评分标准】结果完全正确得20分,每个测试点4分。

提交程序名为:。

【问题描述】从键盘输入三个整数,分别存入x,y,z三个整型变量中,计算并输出三个数的和以及平均值。

【输入形式】从键盘输入三个整数,整数之间以空格隔开。

【输出形式】在屏幕上分两行显示结果:第一行为三个数的和,整数形式输出;第二行为三个数的平均值,浮点数形式输出,小数点后保留两位小数。

【输入样例】 3 2 3 【输出样例】 8 【样例说明】 3、2、3的和为8,所以第一行输出8;第二行输出3、2、3的平均值(保留两位小数)。

【评分标准】结果完全正确得20分,每个测试点4分。

提交程序名为:。

f\n",average); 【问题描述】给出一个不多于5位的正整数,要求:1.求出它是几位数。

2.分别打印出每一位数字。

3.按照逆序打印出每一位数字。

【输入形式】控制台输入该正整数。

【输出形式】控制台分行输出输出结果。

【样例输入】1234 【样例输出】 4 1234 4321 【样例说明】1234位数为4,分别为1,2,3,4,逆序为4321 【评分标准】该题共有三个输出整数,完全正确得10分,每答错一个扣掉4分,直至得分为0。

本题要求上传程序的源文件。

所采用语言可以是C(.c)。

主文件名设定为出它是几位数。

2.分别打印出每一位数字。

3.按照逆序打印出每一位数字。

*【问题描述】编程实现简易的计算器:读入两个整数运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可以是+,-,*,/。

【输入形式】控制台输入运算数和运算符: 1.首先输入以空格分隔的两个整数,分别是data1和data2; 2.输入一个字符作为运算符op,op可以是’+’,’-’,’*’,’/’。

输入时,data1、data2、op之间各留有一个空格。

具体格式见样例输入。

【输出形式】控制台输出运算结果。

作除法运算时,若能够整除,则输出为整数,否则输出结果小数点后应保留两位有效数字。

【样例输入】23 5 * 【样例输出】 115 【样例说明】输入中先后输入第一个运算数23,第二个运算数5,运算符’*’,要求对23和5进行乘法运算。

计算结果为115。

【评分标准】该题共20分,每个测试点4分。

本题要求上传程序的源文件。

所采用语言可以是C(.c).即所上传的文件名为f",d);}return 0;}找最大最小整数1. 【问题描述】编写一个程序,用户输入若干整数,试找出其中的最大数和最小数。

【输入形式】用户在第一行待输入数据个数,在第二行输入数据。

【输出形式】程序在下一行输出数据的最大值和最小值【样例输入】589 62 96 74 52【样例输出】96 52【样例说明】用户第一次输入的为数据个数,在下一行依次输入数据。

输出为5个数中的最大值和最小值,输出时候两个数之间用空格分隔。

【评分标准】结果完全正确得20分,每个测试点4分。

提交程序名为:矩形相交2. 【问题描述】平面上有两个矩形A和B,其位置是任意的。

编程求出其相交部分(如图中阴影部分)的面积。

(0≤a,b≤1000)【输入形式】从标准输入读取两行以空格分隔的整数,格式如下:Ax1 Ay1 Ax2 Ay2Bx1 By1 Bx2 By2其中(x1,y1)和(x2,y2)为矩形对角线上端点的坐标。

各坐标值均为整数,取值在0至1000之间。

【输出形式】向标准输出打印一个整数,是两矩形相交部分的面积(可能为0)。

在输出末尾要有一个回车符。

【输入样例】0 0 2 21 1 3 4【输出样例】1【评分标准】结果完全正确得20分,每个测试点4分,提交程序文件名为。

[红色为采用答案#include <>#include <>struct point {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,struct point p2);struct rect guifanrect(struct rect R);#define max(A,B) ((A)>(B)(A):(B))#define min(A,B) ((A)>(B)(B):(A))main(){int i,num1[4],num2[4],area;for(i=0;i<4;i++)scanf("%d",&num1[i]);for(i=0;i<4;i++)scanf("%d",&num2[i]);R1 = makerect(A1 = makepoint(num1[0],num1[1]),A2 = makepoint(num1[2],num1[3]));R2 = makerect(B1 = makepoint(num2[0],num2[1]),B2 = makepoint(num2[2],num2[3]));R1 = guifanrect(R1);R2 = guifanrect(R2);if( <= || <= ||>= || >= area = 0;elsearea = abs(max - min *abs(max - minprintf("%d\n",area);}struct point makepoint(int x,int y){struct point temp;= x;= y;return temp;}struct rect makerect(struct point p1,struct point p2){struct rect temp;= p1;= p2;return temp;}struct rect guifanrect(struct rect r){struct rect temp;= min = min = max = max return temp;}3. 【问题描述】编写一个程序,当在一个字符串中出现子串时就删除它。

【输入形式】用户在第一行输入一个字符串,用户在第二行输入一个子串。

【输出形式】程序在下一行输出删除其中所有子串后的字符串。

如果字符串不包含子串则输出原字符串本身。

【样例输入】I am a boy!a【样例输出】I m boy!【样例说明】用户首先输入字符串I am a boy!,然后输出子串a,程序会寻找字符串中的子串删除它,最后将删除后的结果输出:I#m##boy! #表示空格。

【评分标准】结果完全正确得20分,每个测试点4分。

提交程序名为:。

#include <>#include <>char source_str[1024];char del_str[1024];char dest_str[1024];int main( void ){char *pdest;int result;fgets(source_str, 1024, stdin);fgets(del_str, 1024, stdin);source_str[strlen(source_str)-1] = '\0';del_str[strlen(del_str)-1] = '\0';pdest = strstr(source_str, del_str);result = 0;while(pdest != NULL) {strncat(dest_str,&source_str[result], (int)(pdest - &source_str[result]));result += (int)(pdest - &source_str[result]) + strlen(del_str);pdest = strstr(&source_str[result], del_str);}if(result < strlen(source_str)) {strncat(dest_str,&source_str[result], strlen(source_str) - result);}printf("%s\n", dest_str);return 0;}4. 【问题描述】编写一个函数char * str_bin(char* str1, char* str2), str1、str2是两个有序字符串(其中字符按ASCII码从小到大排序),将str2合并到字符串str1中,要求合并后的字符串仍是有序的,允许字符重复。

在main函数中测试该函数:从键盘输入两个有序字符串,然后调用该函数,最后输出合并后的结果。

【输入形式】分行从键盘输入两个有序字符串(不超过100个字符)【输出形式】输出合并后的有序字符串【输入样例】acegbdfh【输出样例】abcdefgh【样例说明】输入两个有序字符串aceg和bdfh,输出合并后的有序字符串abcdefgh【评分标准】结果完全正确得20分,每个测试点4分,提交程序文件名为。

相关文档
最新文档