c语言程序上机考核题目及答案.pdf

上传人:汽*** 文档编号:568597307 上传时间:2024-07-25 格式:PDF 页数:17 大小:134.13KB
返回 下载 相关 举报
c语言程序上机考核题目及答案.pdf_第1页
第1页 / 共17页
c语言程序上机考核题目及答案.pdf_第2页
第2页 / 共17页
c语言程序上机考核题目及答案.pdf_第3页
第3页 / 共17页
c语言程序上机考核题目及答案.pdf_第4页
第4页 / 共17页
c语言程序上机考核题目及答案.pdf_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《c语言程序上机考核题目及答案.pdf》由会员分享,可在线阅读,更多相关《c语言程序上机考核题目及答案.pdf(17页珍藏版)》请在金锄头文库上搜索。

1、 C语言程序设计 复杂程序考核考核方法考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。该文件中不包含main函数。调试时,学生自行编写相应的main函数等来进行测试。函数功能截取字符串将大写字母转换为小写字母。将被操作字符串中的指定大写字母后的所有字母截取出来,将截取出来的所有字母转换为小写字母,将此字符串写入原来被操作字符串的地址中。比如:字符串”WEIWENDATA” 在字符N之后的的字符串为” DATA”;转换后的字符串”data”。函数原型int trans(char *str, char ch);参数说明str 为被操作的字符串首地址,字符串的元素全

2、为大写字母;最终将转换好的字符串写入此地址中。ch 为指定的大写字母,此大写字母在str中只出现一次;返回值操作成功,正常返回;str为空,即str=NULL#includeint 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

3、 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数据类型定义如下:/

4、Link list structtypedef struct data int value; struct data *next;data;结构体中的value成员为所存储的数据,next存储链表下一个节点的地址,如果不存在下一个节点,next值为NULL。考生应当将上述的data定义的代码复制到源代码文件中。参数说明op_list为链表首节点的地址;value 为指定的数据。考生需要找到结构体成员value值为指定数据的节点,并将之删除。返回值-1 不存在指定数据;0 删除成功,正常返回。#include#includetypedef struct data int val; struct

5、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;struc

6、t data * head = (struct data *)malloc(sizeof(struct data);struct data * Tail = head;printf(input len);scanf(%d, &len);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 = he

7、ad-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从小到大的规则进行排序,排序好的数据写入指定地址中。函数原

8、型int sort (char *str, char *sort_str);参数说明str是传入字符串的起始地址。str中的数据个数小于4096个。sort_str是排序后字符串的存放地址。返回值操作成功;指针str为空,此时sort_str不写入值;str中的数据不小于4096个,此时sort_str不写入值。#includeint 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 +

9、i); len +; i+;sort_strlen = 0;for(n = 0; n len; n+) for(m = n + 1; m *(sort_str + m) ch = *(sort_str + n); *(sort_str + n) = *(sort_str + m); *(sort_str + m) = ch; return 0;void main()char a100 = hello;char * p = a;char b100;char * q = b;sort(p,q);printf(%s, q);C语言程序设计 复杂程序考核考核方法在学生根目录下新建一个exam2.c的文

10、件,将符合此后描述的功能的代码写入其中。源代码文件中不应该包含main函数,考生应该自己建立main函数来调试代码。源代码文件保存在学生账号的根目录下。函数功能将字符串中的数字字符(即09)出现的次数写入到指定的地址中。考生需要统计一字符串中数字字符出现的次数,然后将次数写入到一个指定的地址中,被操作的字符粗和被写入的地址以函数形式参数传入。函数原型int function(char* str, int* stat);参数说明str 是传入的被操作字符串。字符串长度不超过4096。stat 是被写入的地址。就是将str数组中的数字字符出现的次数写到stat中。返回值及意义操作成功;str为空,

11、 此时stat写入的值应为0。字符串长度超过限制,此时stat写入的值应为0。#include#includeint function(char* str, int* stat)int i = 0;char ch = 0;if(str = NULL) *stat = 0; return 1;if(strlen(str) = 4096) *stat = 0; return 2;while(*(str + i) != 0) ch = *(str + i); if(ch = 0 & ch = 9) *stat = *stat + 1; i+;return 0;void main()char a100

12、 = 32yidsf1;char * p = a;int n = 0;int * q = &n;function(p, q);printf(%d, *q);C语言程序设计 复杂程序考核考核方法考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。该文件中不包含main函数。调试时,学生自行编写相应的main函数等来进行测试。函数功能大小写转化,统计0的总个数。函数通过参数传入一个字符串(全为大写字母)的起始地址,通过对这个地址的操作把该字符串中的大写字母转换为小写字母,并统计每个小写字母对应ASCLL码转换为二进制后0出现的次数之和。函数原型int caculate

13、_student(char *data_buf, int *count);参数说明data_buf是指向字符数组地址的指针,该内存包含一串大写字母。字符串长度不超过4096。count是被写入的参数。就是将所有小写字母对应ASCLL码转换为二进制后0出现的总次数。返回值操作成功;data_buf为空,即data_buf = NULL,此时count写入值为-1,即*count = -1。#includeint caculate_student(char *data_buf, int *count)int i = 0;int j = 0;int num = 0;if(data_buf = NUL

14、L) *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()

15、 char a100 = hezllo; char *p = a; int i = 0;char * q;char m;q = &m;max(p, q);printf(%c, *q);C语言程序设计 复杂程序考核考核方法考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。该文件中不包含main函数。调试时,学生自行编写相应的main函数等来进行测试。函数功能统计一字符串中另一字符串出现的次数。计算一个指定的字符串在另一个字符串中出现的次数,并将出现的次数写入指定地址中。指定的字符串和被操作的字符串以函数形式参数的形式传入。比如字符串”weisweisdfwei”出

16、现字符串”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#includeint count(char *str, char *sub_str, int

17、*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 = weil

18、weihehe;char b100 = wei;int i = 0;int * p = &i;count(a, b, p);printf(%d, *p); C语言程序设计 复杂程序考核考核方法考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。该文件中不包含main函数。调试时,学生自行编写相应的main函数等来进行测试;提交时,把main函数屏蔽或删除即可。函数功能计算数组中所有元素的平均值,将平均值写入指定的地址中。函数原型int caculation(int *data, float *average, int number);参数说明data 是传入的数组

19、。data中的元素个数小于1024个。average 是被写入的地址。即是计算data数组中所有元素de的平均值,将平均值写入average中,data数组中的元素应不变。number data数组的元素个数。返回值操作成功;指针data为空,此时average写入值为0;data中的数据不小于1024个,此时average写入的值为0。#includeint caculation(int *data, float *average, int number)int i = 0;double add = 0;if(data = NULL) *average = 0; return 1;if(nu

20、mber = 1024) *average = 0; return 2;for(i = 0; i number; i+) add = (add + *(data + i);*average = (float)(add/number);return 0;void main()int a100 = 2, 4, 6, 2, 9;int *q = a;float f = 1;float * p = &f;caculation(q, p, 5);printf(%f, *p);C语言程序设计 复杂程序考核考核方法在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。该文件中不应包含main函数。

21、学生应自行编写相应的main函数等来进行测试。源代码文件保存在学生账号的根目录下。函数功能对传入的数组进行从小到大排序,排序好的数据写入指定地址中。函数原型int sort (int *data, int *sort_data, int number);参数说明data 是传入的数据。data中的数据个数小于1024个。sort_data是被写入的地址。即是将data数组中的数据排序好后,写入sort_data数组中,data数组的数据应不变。number 数组data包含的数据个数。返回值操作成功;指针data为空,此此时sort_data不写入值;data中的数据不小于1024个,此时so

22、rt_data不写入。#includeint sort (int *data, int *sort_data, int number)int i = 0;int j = 0;int temp = 0;if(data = NULL) return 1;if(number = 1024) return 2;for(i = 0; i number; i+) *(sort_data + i) = *(data + i) ;printf(%dn, *data);for(i = 0; i number; i+) for(j = i + 1; j number; j+) if(*(sort_data + i

23、) *(sort_data + j) temp = *(sort_data + i); *(sort_data + i) = *(sort_data + j); *(sort_data + j) = temp; return 0;void main()int a100 = 4 ,1, 6, 9, 2;int * p = a;int b100;int * q = b;int i = 0;sort (p, q, 5);for(i = 0; i b,此时result写入值为-1。#include int f(int i, int b, int n, float *result)double num

24、= 0;double add = 0;float f;int j = 0;double len = 0;len = (b - i)/(double)n);if(i b) return -1;for(j = 0; j = 97 & *(data_buf + i) = 65 & *(data_buf + i) = 90) *(data_buf + i) = (char)(*(data_buf + i) + 32); h = (int)(*(data_buf + i); while(h != 0) if( h % 2 = 1) num+; h = h/2 ; i+;*count = num;return 0;void main() char a100 = aa; char * p = a; int i = 0; int * q = &i; caculate_student(p, q); printf(t%d, *q);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号