期末考基础代码讲解.docx
- 文档编号:4286235
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:36
- 大小:1.18MB
期末考基础代码讲解.docx
《期末考基础代码讲解.docx》由会员分享,可在线阅读,更多相关《期末考基础代码讲解.docx(36页珍藏版)》请在冰豆网上搜索。
期末考基础代码讲解
C语言程序设计复杂程序考核
(1)
考核方法
在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。
该文件中不应包含main函数。
源代码文件保存在学生账号的根目录下。
若要调试则需重新新建main函数进行测试,但最后只保留指定函数。
函数功能
找出字符串中ASCII最大的字符,将之写入指定的地址。
函数原型
intmax(char*data,char*max);
参数说明
Char*data是传入的字符串。
data元素个数小于1024个;
Char*max是被写入的地址,即是计算data中的最大值并将其写入max中;
返回值
1操作成功;
2指针data为空,此时max写入值为’\0’;
3data中的数据不小于1024个,此时max写入的值为’\0’。
这是我上次抽到的题,因为一个小错误,所以没过,这里也提醒下,先看代码:
考试时写的code:
Main函数:
(调试用的)
错误在于exam2.c中我用到了fprintf,但忘了没有声明头文件
gccmain.cexam2.c–omain,这样它就会检查出exam2.c中的错误,老师把exam2.c收上去也是这样检测程序的正确性。
如下图:
下面是正确的解答:
exam2.c:
调试用的main函数:
C语言程序设计复杂程序考核
(2)
考核方法
考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。
该文件中不包含main函数。
调试时,学生自行编写相应的main函数等来进行测试。
函数功能
计算字符串ACSII码的二进制形态中1出现的次数之和。
将一个字符串中的指定大写字母后的所有字母截取出来,计算被截取出来的所有字符的ASCII码的二进制形态1出现的次数之和,将1出现的次数之和写入指定的地址。
比如:
字符串”WEIWENDATA”在字符’N’之后的的字符串为”DATA”;之后将字符串”DATA”中每个字符的ASCII值的二进制码中1出现的次数统计出来,再计算其和,其中可用位运算。
函数原型
intcount(char*str,charch,int*count);
参数说明
str为被操作的字符串首地址,字符串的元素全为大写字母;
ch为指定的大写字母,此大写字母在str中只出现一次;
count为被写入的地址。
返回值
4操作成功,正常返回;
5str为空,即str==NULL,此时coun写入值为-1。
Code:
exam2.c:
main.c:
C语言程序设计复杂程序考核(3)
考核方法
考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。
该文件中不包含main函数。
调试时,学生自行编写相应的main函数等来进行测试。
函数功能
大小写转化,统计1的总个数。
函数通过参数传入一个字符串(全为小写字母)的起始地址,通过对这个地址的操作把该字符串中的小写字母转换为大写字母,并统计每个大写字母对应ASCII码转换为二进制后1出现的总次数。
函数原型
intcaculate_student(char*data_buf,int*count);
参数说明
data_buf是指向字符数组地址的指针,该内存包含一串小写字母。
字符串长度不超过4096。
count是被写入的参数。
就是将所有大写字母对应ASCII码转换为二进制后1出现的总次数。
返回值
1操作成功;
2data_buf为空,即data_buf==NULL,此时count写入值为-1,即*count=-1。
code:
exam2_3.c:
main.c:
C语言程序设计复杂程序考核(4)
考核方法
在学生根目录下新建一个exam2.c的文件,将符合此后描述的功能的代码写入其中。
源代码文件中不应该包含main函数,考生应该自己建立main函数来调试代码。
源代码文件保存在学生账号的根目录下。
函数功能
将字符串中的数字字符(即’0’~’9’)出现的次数写入到指定的地址中。
考生需要统计一字符串中数字字符出现的次数,然后将次数写入到一个指定的地址中,被操作的字符粗和被写入的地址以函数形式参数传入。
函数原型
intfunction(char*str,int*stat);
参数说明
str是传入的被操作字符串。
字符串长度不超过4096。
stat是被写入的地址。
就是将str数组中的数字字符出现的次数写到stat中。
返回值及意义
1操作成功;
1.str为空,此时stat写入的值应为0。
2.字符串长度超过限制,此时stat写入的值应为0。
Code:
exam2-4.c
main
C语言程序设计复杂程序考核(5)
考核方法
在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。
该文件中不应包含main函数。
学生自行编写相应的main函数等来进行测试。
源代码文件保存在学生账号的根目录下。
函数功能
对链表进行排序。
此函数功能为对传入的链表进行排序,链表为单链表,链表最后一个节点的next成员值为NULL。
排序规则为:
从头节点到尾节点,value成员值从大到小;
函数原型
intsort_link(data*op_list);
其中data数据类型定义如下:
//Linkliststruct
typedefstructdata{
intvalue;
structdata*next;
}data;
结构体中的value成员为所存储的数值,next存储链表下一个节点的地址,如果不存在下一个节点,next值为NULL。
考生应当将上述的data定义的代码复制到源代码文件中。
参数说明
op_list需要排序的链表第一个节点的地址。
返回值
1排序完成,正常返回;
-1链表为一个空链表。
Ps:
主函数比较长,因为创建个链表写的比较多,两个图
Code:
exam2_5.c
Main
C语言程序设计复杂程序考核(6)
考核方法
考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。
该文件中不包含main函数。
调试时,学生自行编写相应的main函数等来进行测试。
函数功能
统计一字符串中另一字符串出现的次数。
计算一个指定的字符串在另一个字符串中出现的次数,并将出现的次数写入指定地址中。
指定的字符串和被操作的字符串以函数形式参数的形式传入。
比如字符串”weisweisdfwei”出现字符串”wei”的次数为3次。
函数原型
intcount(char*str,char*sub_str,int*fre);
参数说明
str为被操作的字符串,此字符串皆为可打印字符,长度小于4096;
sub_str为指定的字符串,此字符串皆为可打印字符,长度比str小;
fre为被写入的地址。
即是统计字符串str中sub_str出现的次数,并将次数写入fre中。
返回值
1操作成功;
1指针str为空,此时fre写入值为-1;
6字符串str长度不小于4096个,此时fre写入值为-1。
Code:
exam2_6.c
Main
C语言程序设计复杂程序考核(7)
考核方法
考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。
该文件中不包含main函数。
调试时,学生自行编写相应的main函数等来进行测试。
函数功能
大小写转化,统计0的总个数。
函数通过参数传入一个字符串(全为大写字母)的起始地址,通过对这个地址的操作把该字符串中的大写字母转换为小写字母,并统计每个小写字母对应ASCLL码转换为二进制后0出现的次数之和。
函数原型
intcaculate_student(char*data_buf,int*count);
参数说明
data_buf是指向字符数组地址的指针,该内存包含一串大写字母。
字符串长度不超过4096。
count是被写入的参数。
就是将所有小写字母对应ASCLL码转换为二进制后0出现的总次数。
返回值
1操作成功;
2data_buf为空,即data_buf==NULL,此时count写入值为-1,即*count=-1。
Code:
exam2_7.c
Main:
C语言程序设计复杂程序考核(8)
考核方法
在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。
该文件中不应包含main函数。
学生自行编写相应的main函数等来进行测试。
源代码文件保存在学生账号的根目录下。
函数功能
删除链表中包含指定数据的节点。
该函数的功能为删除链表中指定数据的节点,链表的首节点地址以及所指定的数据以函数形式参数的形式传入。
函数原型
intdelete_list(data*op_list,intvalue);
其中data数据类型定义如下:
//Linkliststruct
typedefstructdata{
intvalue;
structdata*next;
}data;
结构体中的value成员为所存储的数据,next存储链表下一个节点的地址,如果不存在下一个节点,next值为NULL。
考生应当将上述的data定义的代码复制到源代码文件中。
参数说明
op_list为链表首节点的地址;
value为指定的数据。
考生需要找到结构体成员value值为指定数据的节点,并将之删除。
返回值
-1不存在指定数据;
0删除成功,正常返回。
Code:
exam2_8.c
main(这道题的main函数有点长,主要是构造个链表写的比较多,两张图)
C语言程序设计复杂程序考核(9)
考核方法
考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。
该文件中不包含main函数。
调试时,学生自行编写相应的main函数等来进行测试。
函数功能
截取字符串将大写字母转换为小写字母。
将被操作字符串中的指定大写字母后的所有字母截取出来,将截取出来的所有字母转换为小写字母,将此字符串写入原来被操作字符串的地址中。
比如:
字符串”WEIWENDATA”在字符’N’之后的的字符串为”DATA”;转换后的字符串”data”。
函数原型
inttrans(char*str,charch);
参数说明
str为被操作的字符串首地址,字符串的元素全为大写字母;最终将转换好的字符串写入此地址中。
ch为指定的大写字母,此大写字母在str中只出现一次;
返回值
1操作成功,正常返回;
2str为空,即str==NULL
code:
exam2_9.c
Main:
C语言程序设计复杂程序考核(10)
考核方法
考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。
该文件中不包含main函数。
调试时,学生自行编写相应的main函数等来进行测试。
函数功能
将小写字母转换为大写字母。
将被操作字符串中的指定小写字母前的所有字母截取出来,将截取出来的所有字母转换为大写字母,将此字符串写入原来被操作字符串的地址中。
比如:
字符串”weiwendata”在字符’n’之前的的字符串为”weiwe”;转换后的字符串”WEIWE”。
函数原型
inttreans(char*str,charch);
参数说明
str为被操作的字符串首地址,字符串的元素全为小写字母;最终将转换好的字符串写入此地址中。
ch为指定的小写字母,此小写字母在str中只出现一次;
返回值
1操作成功,正常返回;
2str为空,即str==NULL,此时coun写入值为-1。
Code:
exam2_10.c
Main
C语言程序设计复杂程序考核(11)
考核方法
在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。
该文件中不应包含main函数。
学生应自行编写相应的main函数等来进行测试。
源代码文件保存在学生账号的根目录下。
函数功能
用矩形法求定积分
,其中a、b为函数输入参数,[a,b]区间所分的段数n也是传入的参数。
将结果写入指定的地址。
函数原型
intfcos(inta,intb,intn,float*result);
参数说明
b为积分上限;
q为积分下限,a小于或等于b;
n为[a,b]区间所要分的段数,即使将[a,b]区间分为n。
result为被写入的地址。
即是将区间[a,b]分为n段,用矩形法求出定积分
的值,将结果写入result中。
返回值
1操作成功;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 期末 基础 代码 讲解