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

上传人:b****8 文档编号:8994421 上传时间:2023-02-02 格式:DOCX 页数:23 大小:19.64KB
下载 相关 举报
c语言程序上机考核题目及答案1.docx_第1页
第1页 / 共23页
c语言程序上机考核题目及答案1.docx_第2页
第2页 / 共23页
c语言程序上机考核题目及答案1.docx_第3页
第3页 / 共23页
c语言程序上机考核题目及答案1.docx_第4页
第4页 / 共23页
c语言程序上机考核题目及答案1.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

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

《c语言程序上机考核题目及答案1.docx》由会员分享,可在线阅读,更多相关《c语言程序上机考核题目及答案1.docx(23页珍藏版)》请在冰豆网上搜索。

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

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

C语言程序设计复杂程序考核

考核方法

考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。

该文件中不包含main函数。

调试时,学生自行编写相应的main函数等来进行测试。

函数功能

截取字符串将大写字母转换为小写字母。

将被操作字符串中的指定大写字母后的所有字母截取出来,将截取出来的所有字母转换为小写字母,将此字符串写入原来被操作字符串的地址中。

比如:

字符串”WEIWENDATA”在字符’N’之后的的字符串为”DATA”;转换后的字符串”data”。

函数原型

inttrans(char*str,charch);

参数说明

str为被操作的字符串首地址,字符串的元素全为大写字母;最终将转换好的字符串写入此地址中。

ch为指定的大写字母,此大写字母在str中只出现一次;

返回值

操作成功,正常返回;

str为空,即str==NULL

#include

inttrans(char*str,charch){

inti=0;

intj=0;

if(str==NULL){

return1;

}

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';

}

voidmain()

{

chara[100]="DHYOEBG";

charh='Y';

trans(a,h);

printf("%s",a);

}

C语言程序设计复杂程序考核

考核方法

在名为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删除成功,正常返回。

#include

#include

typedefstructdata{

intval;

structdata*next;

}data;

intdelete_list(data*op_list,intdir){

structdata*head,*newP;

head=op_list;

if(head->next==NULL){

return2;

}

while(head->next!

=NULL){

newP=head->next;

if(newP->val==dir){

head->next=newP->next;

}

head=head->next;

}

return0;

}

structdata*creatList(){

intlen=0;

intid=0;

inti=0;

structdata*head=(structdata*)malloc(sizeof(structdata));

structdata*Tail=head;

printf("inputlen");

scanf("%d",&len);

for(i=0;i

structdata*NewS=(structdata*)malloc(sizeof(structdata));

printf("inputid");

scanf("%d",&id);

NewS->val=id;

Tail->next=NewS;

NewS->next=NULL;

Tail=NewS;

}

returnhead;

}

voidshowList(structdata*head){

structdata*NewP;

while

(1){

if(head->next==NULL){

return;

}

NewP=head->next;

printf("%d",NewP->val);

head=NewP;

}

}

voidmain(){

structdata*head;

head=creatList();

showList(head);

delete_list(head,3);

showList(head);

}

C语言程序设计复杂程序考核

考核方法

考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。

该文件中不包含main函数。

调试时,学生自行编写相应的main函数等来进行测试。

函数功能

字符串ASCII排序。

对传入的字符串依据ASCII从小到大的规则进行排序,排序好的数据写入指定地址中。

函数原型

intsort(char*str,char*sort_str);

参数说明

str是传入字符串的起始地址。

str中的数据个数小于4096个。

sort_str是排序后字符串的存放地址。

返回值

操作成功;

指针str为空,此时sort_str不写入值;

str中的数据不小于4096个,此时sort_str不写入值。

#include

intsort(char*str,char*sort_str){

inti=0;

intlen=0;

intn=0;

intm=0;

charch;

while(*(str+i)!

='\0'){

*(sort_str+i)=*(str+i);

len++;

i++;

}

sort_str[len]='\0';

for(n=0;n

for(m=n+1;m

if(*(sort_str+n)>*(sort_str+m)){

ch=*(sort_str+n);

*(sort_str+n)=*(sort_str+m);

*(sort_str+m)=ch;

}

}

}

return0;

}

voidmain()

{

chara[100]="hello";

char*p=a;

charb[100];

char*q=b;

sort(p,q);

printf("%s",q);

}

C语言程序设计复杂程序考核

考核方法

在学生根目录下新建一个exam2.c的文件,将符合此后描述的功能的代码写入其中。

源代码文件中不应该包含main函数,考生应该自己建立main函数来调试代码。

源代码文件保存在学生账号的根目录下。

函数功能

将字符串中的数字字符(即’0’~’9’)出现的次数写入到指定的地址中。

考生需要统计一字符串中数字字符出现的次数,然后将次数写入到一个指定的地址中,被操作的字符粗和被写入的地址以函数形式参数传入。

函数原型

intfunction(char*str,int*stat);

参数说明

str是传入的被操作字符串。

字符串长度不超过4096。

stat是被写入的地址。

就是将str数组中的数字字符出现的次数写到stat中。

返回值及意义

操作成功;

str为空,此时stat写入的值应为0。

字符串长度超过限制,此时stat写入的值应为0。

#include

#include

intfunction(char*str,int*stat){

inti=0;

charch=0;

if(str==NULL){

*stat=0;

return1;

}

if(strlen(str)>=4096){

*stat=0;

return2;

}

while(*(str+i)!

='\0'){

ch=*(str+i);

if(ch>='0'&&ch<='9'){

*stat=*stat+1;

}

i++;

}

return0;

}

voidmain()

{

chara[100]="32yidsf1";

char*p=a;

intn=0;

int*q=&n;

function(p,q);

printf("%d",*q);

}

C语言程序设计复杂程序考核

考核方法

考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。

该文件中不包含main函数。

调试时,学生自行编写相应的main函数等来进行测试。

函数功能

大小写转化,统计0的总个数。

函数通过参数传入一个字符串(全为大写字母)的起始地址,通过对这个地址的操作把该字符串中的大写字母转换为小写字母,并统计每个小写字母对应ASCLL码转换为二进制后0出现的次数之和。

函数原型

intcaculate_student(char*data_buf,int*count);

参数说明

data_buf是指向字符数组地址的指针,该内存包含一串大写字母。

字符串长度不超过4096。

count是被写入的参数。

就是将所有小写字母对应ASCLL码转换为二进制后0出现的总次数。

返回值

操作成功;

data_buf为空,即data_buf==NULL,此时count写入值为-1,即*count=-1。

#include

intcaculate_student(char*data_buf,int*count){

inti=0;

intj=0;

intnum=0;

if(data_buf==NULL){

*count=-1;

return1;

}

while(*(data_buf+i)!

='\0'){

*(data_buf+i)=*(data_buf+i)+32;

printf("%c",*(data_buf+i));

i++;

}

for(j=0;j

num=*(data_buf+j);

while(num/2!

=0){

if(num%2==0){

*count=*count+1;

}

num=num/2;

}

}

return0;

}

voidmain()

{

inti=0;

chara[100]="HELLO";

char*p=a;

int*q=&i;

caculate_student(p,q);

printf("%s%d",p,*q);

}

C语言程序设计复杂程序考核

考核方法

在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。

该文件中不应包含main函数。

源代码文件保存在学生账号的根目录下。

若要调试则需重新新建main函数进行测试,但最后只保留指定函数。

函数功能

找出字符串中ASCII最大的字符,将之写入指定的地址。

函数原型

intmax(char*data,char*max);

参数说明

Char*data是传入的字符串。

data元素个数小于1024个;

Char*max是被写入的地址,即是计算data中的最大值并将其写入max中;

返回值

操作成功;

指针data为空,此时max写入值为’\0’;

data中的数据不小于1024个,此时max写入的值为’\0’。

/*Note:

YourchoiceisCIDE*/

#include"stdio.h"

#include"string.h"

intmax(char*data,char*max){

inti=0;

inttemp=0;

if(strlen(data)>=1024){

*max='\0';

return2;

}

if(data==NULL){

*max='\0';

return1;

}

*max=*data;

while(*(data+i)!

='\0'){

if(*(data+i)>*max){

*max=*(data+i);

}

i++;

}

return0;

}

voidmain()

{

chara[100]="hezllo";

char*p=a;

inti=0;

char*q;

charm;

q=&m;

max(p,q);

printf("%c",*q);

}

C语言程序设计复杂程序考核

考核方法

考生在自己根目录下创建一个名为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中。

返回值

操作成功;

指针str为空,此时fre写入值为-1;

字符串str长度不小于4096个,此时fre写入值为-1。

#include

#include

intcount(char*str,char*sub_str,int*fre){

inti=0;

intj=0;

intnum=0;

intlen=strlen(sub_str);

if(str==NULL){

*fre=-1;

return1;

}

if(strlen(str)>=4096){

*fre=-1;

return2;

}

while(*(str+i)!

='\0'){

if(*(str+i)==*sub_str){

if(!

strncmp(str+i,sub_str,len)){

*fre=*fre+1;

i=i+len;

}

}else{

i++;

}

}

return0;

}

voidmain()

{

chara[100]="weilweihehe";

charb[100]="wei";

inti=0;

int*p=&i;

count(a,b,p);

printf("%d",*p);

}

C语言程序设计复杂程序考核

考核方法

考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。

该文件中不包含main函数。

调试时,学生自行编写相应的main函数等来进行测试;提交时,把main函数屏蔽或删除即可。

函数功能

计算数组中所有元素的平均值,将平均值写入指定的地址中。

函数原型

intcaculation(int*data,float*average,intnumber);

参数说明

data是传入的数组。

data中的元素个数小于1024个。

average是被写入的地址。

即是计算data数组中所有元素de的平均值,将平均值写入average中,data数组中的元素应不变。

numberdata数组的元素个数。

返回值

操作成功;

指针data为空,此时average写入值为0;

data中的数据不小于1024个,此时average写入的值为0。

#include

intcaculation(int*data,float*average,intnumber){

inti=0;

doubleadd=0;

if(data==NULL){

*average=0;

return1;

}

if(number>=1024){

*average=0;

return2;

}

for(i=0;i

add=(add+*(data+i));

}

*average=(float)(add/number);

return0;

}

voidmain(){

inta[100]={2,4,6,2,9};

int*q=a;

floatf=1;

float*p=&f;

caculation(q,p,5);

printf("%f",*p);

}

C语言程序设计复杂程序考核

考核方法

在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。

该文件中不应包含main函数。

学生应自行编写相应的main函数等来进行测试。

源代码文件保存在学生账号的根目录下。

函数功能

对传入的数组进行从小到大排序,排序好的数据写入指定地址中。

函数原型

intsort(int*data,int*sort_data,intnumber);

参数说明

data是传入的数据。

data中的数据个数小于1024个。

sort_data是被写入的地址。

即是将data数组中的数据排序好后,写入sort_data数组中,data数组的数据应不变。

number数组data包含的数据个数。

返回值

操作成功;

指针data为空,此此时sort_data不写入值;

data中的数据不小于1024个,此时sort_data不写入。

#include

intsort(int*data,int*sort_data,intnumber){

inti=0;

intj=0;

inttemp=0;

if(data==NULL){

return1;

}

if(number>=1024){

return2;

}

for(i=0;i

*(sort_data+i)=*(data+i);

}

printf("%d\n",*data);

for(i=0;i

for(j=i+1;j

if(*(sort_data+i)<*(sort_data+j)){

temp=*(sort_data+i);

*(sort_data+i)=*(sort_data+j);

*(sort_data+j)=temp;

}

}

}

return0;

}

voidmain(){

inta[100]={4,1,6,9,2};

int*p=a;

intb[100];

int*q=b;

inti=0;

sort(p,q,5);

for(i=0;i<5;i++){

printf("%d\n",*(q+i));

}

}

C语言程序设计复杂程序考核

考核方法

在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。

该文件中不应包含main函数。

学生应自行编写相应的main函数等来进行测试。

源代码文件保存在学生账号的根目录下。

函数功能

用矩形法求定积分,其中a、b为函数输入参数,[a,b]区间所分的段数n也是传入的参数。

将结果写入指定的地址。

函数原型

intf(inti,intb,intn,float*result);

参数说明

b为积分上限;

i为积分下限,i小于或等于b;

n为[i,b]区间所要分的段数,即使将[i,b]区间分为n。

result为被写入的地址。

即是将区间[i,b]分为n段,用矩形法求出定积分的值,将结果写入result中。

返回值

操作成功;

i>b,此时result写入值为-1。

#include

intf(inti,intb,intn,float*result){

doublenum=0;

doubleadd=0;

floatf;

intj=0;

doublelen=0;

len=(b-i)/((double)n);

if(i>b){

return-1;

}

for(j=0;j<=n;j++){

num=((i+len*j)*(i+len*j)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1