c语言程序上机考核题目及答案.pdf_第1页
c语言程序上机考核题目及答案.pdf_第2页
c语言程序上机考核题目及答案.pdf_第3页
c语言程序上机考核题目及答案.pdf_第4页
c语言程序上机考核题目及答案.pdf_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计 复杂程序考核 考核方法 考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规 定功能的函数。该文件中不包含main函数。调试时,学生自行编写相应 的main函数等来进行测试。 函数功能 截取字符串将大写字母转换为小写字母。 将被操作字符串中的指定大写字母后的所有字母截取出来,将截取出来 的所有字母转换为小写字母,将此字符串写入原来被操作字符串的地址 中。 比如:字符串”WEIWENDATA” 在字符N之后的的字符串为” DATA”;转 换后的字符串”data”。 函数原型 int trans(char *str, char ch); 参数说明 str 为被操作的字符串首地址,字符串的元素全为大写字母;最终将 转换好的字符串写入此地址中。 ch 为指定的大写字母,此大写字母在str中只出现一次; 返回值 操作成功,正常返回; str为空,即str=NULL #include int trans(char *str, char ch) int i = 0; int j = 0; if(str = NULL) return 1; while(*(str + i) != 0) if(*(str + i) = ch) break; i+; while(*(str + i + 1) != 0) *(str + j) = *(str + i + 1) + 32; j+; i+; *(str + j) = 0; void main() char a100 = “DHYOEBG“; char h = Y; trans(a, h); printf(“%s“, a); C语言程序设计 复杂程序考核 考核方法 在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。该文 件中不应包含main函数。学生自行编写相应的main函数等来进行测试。 源代码文件保存在学生账号的根目录下。 函数功能 删除链表中包含指定数据的节点。 该函数的功能为删除链表中指定数据的节点,链表的首节点地址以及所 指定的数据以函数形式参数的形式传入。 函数原型 int delete_list(data * op_list, int value); 其中data数据类型定义如下: /Link list struct typedef struct data int value; struct data *next; data; 结构体中的value成员为所存储的数据,next存储链表下一个节点的地 址,如果不存在下一个节点,next值为NULL。 考生应当将上述的data定义的代码复制到源代码文件中。 参数说明 op_list为链表首节点的地址; value 为指定的数据。考生需要找到结构体成员value值为指定数据的节 点,并将之删除。 返回值 -1 不存在指定数据; 0 删除成功,正常返回。 #include #include typedef struct data int val; struct data *next; data; int delete_list(data * op_list, int dir) struct data *head, *newP; head = op_list; if(head-next = NULL) return 2; while(head-next != NULL) newP = head-next; if(newP-val = dir) head-next = newP-next; head = head-next; return 0; struct data * creatList() int len = 0; int id = 0; int i = 0; struct data * head = (struct data *)malloc(sizeof(struct data); struct data * Tail = head; printf(“input len“); scanf(“%d“, for(i = 0; i val = id; Tail-next = NewS; NewS-next = NULL; Tail = NewS; return head; void showList(struct data * head) struct data * NewP; while(1) if(head-next = NULL) return; NewP = head-next; printf(“%d“, NewP-val); head = NewP; void main() struct data * head; head = creatList(); showList(head); delete_list(head, 3); showList(head); C语言程序设计 复杂程序考核 考核方法 考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规 定功能的函数。该文件中不包含main函数。调试时,学生自行编写相应 的main函数等来进行测试。 函数功能 字符串ASCII排序。 对传入的字符串依据ASCII从小到大的规则进行排序,排序好的数据写入 指定地址中。 函数原型 int sort (char *str, char *sort_str); 参数说明 str是传入字符串的起始地址。str中的数据个数小于4096个。 sort_str是排序后字符串的存放地址。 返回值 操作成功; 指针str为空,此时sort_str不写入值; str中的数据不小于4096个,此时sort_str不写入值。 #include int sort (char *str, char *sort_str) int i = 0; int len = 0; int n = 0; int m = 0; char ch; while(*(str + i) != 0) *(sort_str + i) = *(str + i); len +; i+; sort_strlen = 0; for(n = 0; n = 4096) *stat = 0; return 2; while(*(str + i) != 0) ch = *(str + i); if(ch = 0 i+; return 0; void main() char a100 = “32yidsf1“; char * p = a; int n = 0; int * q = function(p, q); printf(“%d“, *q); C语言程序设计 复杂程序考核 考核方法 考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规 定功能的函数。该文件中不包含main函数。调试时,学生自行编写相应 的main函数等来进行测试。 函数功能 大小写转化,统计0的总个数。 函数通过参数传入一个字符串(全为大写字母)的起始地址,通过对这 个地址的操作把该字符串中的大写字母转换为小写字母,并统计每个小 写字母对应ASCLL码转换为二进制后0出现的次数之和。 函数原型 int caculate_student(char *data_buf, int *count); 参数说明 data_buf是指向字符数组地址的指针,该内存包含一串大写字母。字符 串长度不超过4096。 count是被写入的参数。就是将所有小写字母对应ASCLL码转换为二进制 后0出现的总次数。 返回值 操作成功; data_buf为空,即data_buf = NULL,此时count写入值为-1,即*count = -1。 #include int caculate_student(char *data_buf, int *count) int i = 0; int j = 0; int num = 0; if(data_buf = NULL) *count = -1; return 1; while(*(data_buf + i) != 0) *(data_buf + i) = *(data_buf + i) + 32; printf(“%c“, *(data_buf + i); i+; for(j = 0; j = 1024) *max = 0; return 2; if(data = NULL) *max = 0; return 1; *max = *data; while(*(data + i) != 0) if(*(data + i) *max) *max = *(data + i); i+; return 0; void main() char a100 = “hezllo“; char *p = a; int i = 0; char * q; char m; q = max(p, q); printf(“%c“, *q); C语言程序设计 复杂程序考核 考核方法 考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规 定功能的函数。该文件中不包含main函数。调试时,学生自行编写相应 的main函数等来进行测试。 函数功能 统计一字符串中另一字符串出现的次数。 计算一个指定的字符串在另一个字符串中出现的次数,并将出现的次数 写入指定地址中。指定的字符串和被操作的字符串以函数形式参数的形 式传入。比如字符串”weisweisdfwei”出现字符串”wei”的次数为3次。 函数原型 int count(char *str, char *sub_str, int *fre); 参数说明 str 为被操作的字符串,此字符串皆为可打印字符,长度小于4096; sub_str 为指定的字符串,此字符串皆为可打印字符,长度比str小; fre 为被写入的地址。即是统计字符串str中sub_str出现的次数,并 将次数写入fre中。 返回值 操作成功; 指针str为空,此时fre写入值为-1; 字符串str长度不小于4096个,此时fre写入值为-1。 #include #include int count(char *str, char *sub_str, int *fre) int i = 0; int j = 0; int num = 0; int len = strlen(sub_str); if(str = NULL) *fre = -1; return 1; if(strlen(str) = 4096) *fre = -1; return 2; while(*(str + i) != 0) if(*(str + i) = *sub_str) if(!strncmp(str + i, sub_str, len) *fre = *fre + 1; i = i + len; else i+; return 0; void main() char a100 = “weilweihehe“; char b100 = “wei“; int i = 0; int * p = count(a, b, p); printf(“%d“, *p); C语言程序设计 复杂程序考核 考核方法 考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规 定功能的函数。该文件中不包含main函数。调试时,学生自行编写相应 的main函数等来进行测试;提交时,把main函数屏蔽或删除即可。 函数功能 计算数组中所有元素的平均值,将平均值写入指定的地址中。 函数原型 int caculation(int *data, float *average, int number); 参数说明 data 是传入的数组。data中的元素个数小于1024个。 average 是被写入的地址。即是计算data数组中所有元素de的平均值, 将平均值写入average中,data数组中的元素应不变。 number data数组的元素个数。 返回值 操作成功; 指针data为空,此时average写入值为0; data中的数据不小于1024个,此时average写入的值为0。 #include int caculation(int *data, float *average, int number) int i = 0; double add = 0; if(data = NULL) *average = 0; return 1; if(number = 1024) *average = 0; return 2; for(i = 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论