[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,(2)
[红色为采用答案
#include <stdio.h> #include <stdlib.h>
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() {
5 / 30
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( R1.p2.x <= R2.p1.x || R1.p2.y <= R2.p1.y ||
R1.p1.x >= R2.p2.x || R1.p1.y >= R2.p2.y) area = 0; else
area = 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("%d\n",area); }
经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}。。。
struct point makepoint(int x,int y) {
struct point temp; temp.x = x; temp.y = y; return temp; }
struct rect makerect(struct point p1,struct point p2) {
struct rect temp; temp.p1 = p1; 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; }
6 / 30
3. 【问题描述】编写一个程序,当在一个字符串中出现子串时就删除它。
【输入形式】用户在第一行输入一个字符串,用户在第二行输入一个子串。
【输出形式】程序在下一行输出删除其中所有子串后的字符串。如果字符串不包含子串则输出原字符串本身。 【样例输入】 I am a boy! a 【样例输出】 I m boy!
【样例说明】用户首先输入字符串I am a boy!,然后输出子串a,程序会寻找字符串中的子串删除它,最后将删除后的结果输出:I#m##boy! #表示空格。
【评分标准】结果完全正确得20分,每个测试点4分。提交程序名为:delsubstring.c。 #include <string.h> #include <stdio.h> char source_str[1024]; char del_str[1024]; char dest_str[1024];
int main( void ) {
char *pdest; int result;
fgets(source_str, 1024, stdin);
经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}。。。
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函数中测试该函数:从键盘输入两个有序字符串,然后调用该函数,最后输出合并后的结果。
7 / 30
【输入形式】
分行从键盘输入两个有序字符串(不超过100个字符) 【输出形式】
输出合并后的有序字符串 【输入样例】 aceg bdfh
【输出样例】 abcdefgh 【样例说明】
输入两个有序字符串aceg和bdfh,输出合并后的有序字符串abcdefgh 【评分标准】
结果完全正确得20分,每个测试点4分,提交程序文件名为combine.c。 #include<stdio.h>
char * str_bin(char* str1, char* str2) {
static char str[100]; int i = 0;
while (*str1 && *str2) {
if (*str1 < *str2) str[i++] = *str1++; else
str[i++] = *str2++;
经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}。。。
} if (*str1)
while (str[i++] = *str1++); else
while (str[i++] = *str2++); return str; }
int main () { char a[100]; char b[100];
scanf("%s\n%s",&a,&b); printf ("%s\n",str_bin(a,b)); return 0; } 作业四
填空题
# 题目
1. 已知: int a=2, b=7; 计算下列表达式的值:5
a=4,b=1,a>b?++a:++b;
选择题
# 题目 1. 已知:char a=’a’;float b=2.3;double c=41;int d;则执行语句d=a+b+c;后变量d的数据类型为A
8 / 30
(A) int (B) char (C) float (D) double
2. 字符串“\ta\017bc”的长度(不包括结束符)是C (A) 9 (B) 5 (C) 6
(D) 7
3. 设整型变量x和y的值均为7,则表达式“x/(y-4)”的值是C A. 3
B. -3 C. 2 D. 1
4. 题目内容: 有输入语句:int a,b,c; scanf("a=%d,b=%d,c=%d", &a, &b, &c); 为使变量a的值为1,b的值为3,c的值为2,
从键盘输入数据的正确形式应当是(注:#表示空格)D
(A) 132<回车> (B) 1,3,2<回车>
(C) a=1#b=3#c=2<回车> (D) a=1,b=3,c=2<回车> 编程题
作业四---反弹
1. 【问题描述】
已知一球从高空落下时,每次落地后反弹至原高度的四分之一再落下。编写一程序,从键盘输入整数n和m,求该球从n米的高空落下后,第m次落地时共经过的路程以及第m次落地后反弹的高度,并输出结果。 【输入形式】
从键盘输入整数n和m,以空格隔开。 【输出形式】 输出两行:
经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}。。。
第一行输出总路程,保留小数点后两位; 第二行输出第m次落地后反弹的高度,保留小数点后两位。 【输入样例】 40 3
【输出样例】 65.00 0.63
【评分标准】
结果完全正确得20分,每个测试点4分,提交程序文件high.c。
---日期天数转换
2. 【问题描述】编写一个程序,用户输入日期,计算该日期是这一年的第几天。
【输入形式】用户在第一行输入一个日期(年月日,中间 …… 此处隐藏:3810字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




