首页 电大C语言形考册参考答案

电大C语言形考册参考答案

举报
开通vip

电大C语言形考册参考答案电大C语言形考册参照答案电大C语言形考册参照答案电大C语言形考册参照答案特别说明:题号后带有*的,该题有明显错误或大意,详细说明见《形考册勘误》C语言程序设计作业1(知识点覆盖范围:第1章至第3章)一、选择题1.A2.D3.B4.D5.B6.A7.C8.A9.B10.C11.C12.A13.B14.D15*.B16*.D17.A二、填空题1.;2.}3*.//4*.*/5.#include6.用户7*.函数头8.printf9*.void...

电大C语言形考册参考答案
电大C语言形考册参照答案电大C语言形考册参照答案电大C语言形考册参照答案特别说明:题号后带有*的,该题有明显错误或大意,详细说明见《形考册勘误》C语言程序设计作业1(知识点覆盖范围:第1章至第3章)一、选择题1.A2.D3.B4.D5.B6.A7.C8.A9.B10.C11.C12.A13.B14.D15*.B16*.D17.A二、填空题1.;2.}3*.//4*.*/5.#include6.用户7*.函数头8.printf9*.void10.43-18=2511.warning12.error13.0x19(或0X19)14.\n15.D16.7217.418.119.420.421.int22.double23.const24.初始化25.626.727.6.2528.429*.++x30.y=y+131.x32.x+y<=533.a<=b&&b!=534.假35.真36.1037.DataType38.整型常量 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达式39.switch40.不停止41.1042.break43.return44*.main三、写出以下每个程序运行后的输出结果1.*程序代码:#includevoidmain(){intx=5;switch(2*x-3){case4:printf("%d",x);case7:printf("%d",2*x+1);case10:printf("%d",3*x-1);break;default:printf("%s","default\n");}printf("%s\n","switchend.");}运行结果:1114switchend.2.程序代码:#includevoidmain(){inti,s=0;for(i=1;i<=6;i++)s+=i*i;printf("s=%d\n",s);}运行结果:s=913.程序代码:#includevoidmain(){inti,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;elses2+=i;printf("%d%d\n",s1,s2);}运行结果:25204.程序代码:#includevoidmain(){intn=10,y=1;while(n--){y++;y++;}printf("y=%d\n",y);}运行结果:y=215.程序代码:#includevoidmain(){intf,f1,f2,i;f1=f2=1;printf("%d%d",f1,f2);for(i=3;i<=10;i++){f=f1+f2;printf("%d",f);if(i%5==0)printf("\n");f1=f2;f2=f;}printf("\n");}运行结果:112358132134556.*程序代码:#include#includevoidmain(){inti,n;for(n=2;n<=20;n++){inttemp=(int)sqrt(n);//sqrt(n)求出n的平方根。尔后取整for(i=2;i<=temp;i++)if(n%i==0)break;if(i>temp)printf("%d",n);}printf("\n");}运行结果:2357111317197.程序代码:#includeconstintM=20;voidmain(){inti,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}printf("%d%d%d\n",c2,c3,c5);}运行结果:10648.程序代码:#includeconstintM=20;voidmain(){inti,s;for(i=1,s=0;i<15;i++){if(i%2==0||i%3==0)continue;printf("%d",i);s+=i;}printf("%d\n",s);}运行结果:157111337特别说明:题号后带有*的,该题有明显错误或大意,详细说明见《形考册勘误》C语言程序设计作业2(知识点覆盖范围:第4章至第6章)一、选择题1.C2.C3.C4.A5.C二、填空题1.82.323.604.M*N5.0~M-16.0~N-17.BB8.19.010.111.1112.n+113.比较14.复制15.1016.19三、写出以下每个程序运行后的输出结果1.(练习题4.2第1小题)程序代码:#includevoidmain(){inta[10]={12,39,26,41,55,63,72,40,83,95};inti,i1=0,i2=0;for(i=0;i<10;i++)if(a[i]%2==1)i1++;elsei2++;printf("%d%d\n",i1,i2);}运行结果:642.*程序代码:#include#includevoidmain(){inti;char*a[5]={"student","worker","cadre","soldier","peasant"};char*p1,*p2;p1=p2=a[0];for(i=0;i<5;i++){if(strcmp(a[i],p1)>0)p1=a[i];if(strcmp(a[i],p2)<0)p2=a[i];}printf("%s%s\n",p1,p2);}运行结果:workercadre3.*程序代码:#includeinta[10]={4,5,6,15,20,13,12,7,8,9};voidmain(){inti,s0,s1,s2;s0=s1=s2=0;for(i=0;i<10;i++){switch(a[i]%3){case0:s0+=a[i];break;case1:s1+=a[i];break;case2:s2+=a[i];break;}}printf("%d%d%d\n",s0,s1,s2);}运行结果:4224334.程序代码:#includevoidmain(){chara[]="abcdbfbgacd";inti1=0,i2=0,i=0;while(a[i]){if(a[i]=='a')i1++;elseif(a[i]=='b')i2++;i++;}printf("%d%d%d\n",i1,i2,i);}运行结果:23115.(在二维数组中找最大元素及其下标)程序代码:#includevoidmain(){inta[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}};intm=a[0][0];intii=0,jj=0;inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}printf("%d%d%d\n",ii,jj,a[ii][jj]);}运行结果:21126.(又是斐波纳契数列!)程序代码:#includevoidmain(){inta,b;for(a=1,b=2;b<50;){printf("%d%d",a,b);a=a+b;b=a+b;}printf("\n");}运行结果:四、写出以下每个函数的功能1.程序代码:#includeintSA(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}函数功能:比较两个整数a和b的大小。若是a大于b则结果为1,a与b相等则结果为0,a小于b则结果为-12.程序代码:intSC(inta,intb,intc){if(a>=b&&a>=c)returna;if(b>=a&&b>=c)returnb;returnc;}函数功能:返回a、b、c三个整数的最大值03.(注意s初值为1,等于x/(0+1))程序代码:doublep=1,s=1;inti;for(i=1;i<=n;i++){p*=x;s+=p/(i+1);}returns;}函数功能:i计算nxi0i14.*程序代码:#includeintSG(intx){//x为大于等于2的整数inta=(int)sqrt(x);//sqrt(x)取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}函数功能:判断整数x可否为素数,是则返回1,不是返回05.程序代码:voidtrans(intx){chara[10];inti=0,rem;do{rem=x%16;x=x/16;if(rem<10)a[i]=48+rem;//'0'字符的ASCII码为48elsea[i]=55+rem;//'A'字符的ASCII码为65++;}while(x!=0);while(i>0)printf("%c",a[--i]);printf("\n");}函数功能:以十六进制形式输出整数x五、依照以下每个题目要求编写程序1.voidfun4(char*a,intb[]){inti;for(i=0;i<10;b[i++]=0);while(*a){if(*a>='0'&&*a<='9')b[*a-'0']++;a++;}}2.doubleMean(doublea[M][N],intm,intn){doublev=0;inti,j;for(i=0;ivoidmain(){inti=0;doubles=0;while(s<5)s+=1.0/++i;printf("n=%d\n",i);}2225*.(不等式应当是2+4+...+n<1000)voidmain(){inti=0;ints=0;//用//用i作为依次取值偶数的变量s作为累加变量do{i+=2;s+=i*i;}while(s<1000);printf("n=%d\n",i-2);}2226*.(应当是计算1+2+...+n)voidmain(){intn,i,sum;printf("请输入正整数n:");scanf("%d",&n);if(n<=0){printf("应输入正整数!\n");return;}for(i=1,sum=0;i<=n;sum+=i*i,i++);printf("平方和为:%d\n",sum);}特别说明:题号后带有*的,该题有明显错误或大意,详细说明见《形考册勘误》C语言程序设计作业3(知识点覆盖范围:第6章)一、选择题1*.C2*.C3.B4.B5.C6.B7.C8.B9.B10.C11.B12.D13.D14.D15*.A16.D二、填空题1.函数体2.03.static4.递归5.头6.函数体7.258.469.4610.4*i11.(char*)p12.int**13.&p14.*p15.0三、写出以下每个程序运行后的输出结果1.程序代码:#includevoidSB(charch){switch(ch){case'A':case'a':printf("WW");break;case'B':case'b':printf("GG");break;case'C':case'c':printf("PP");break;default:printf("BB");break;}}voidmain(){chara1='b',a2='C',a3='f';SB(a1);SB(a2);SB(a3);SB('A');printf("\n");}运行结果:GGPPBBWW2.程序代码:#include#includedoubleSD(inta,intb,charop){doublex;switch(op){case'+':x=a+b;break;case'-':x=a-b;break;case'*':x=a*b;break;case'/':if(b)x=(double)a/b;elseexit(1);break;default:{printf("运算符错!\n");exit(1);}}returnx;}voidmain(){intx=20,y=8;printf("%3.2lf",SD(x,y,'-'));printf("%3.2lf",SD(x,y,'*'));printf("%3.2lf\n",SD(x+y,y,'/'));}运行结果:12.00160.003.503.程序代码:#includevoidWF(intx,inty){x=x+y;y=x+y;printf("subs:x,y=%d,%d\n",x,y);}voidmain(){intx=18,y=23;printf("main:x,y=%d,%d\n",x,y);WF(x,y);x=2*x;printf("main:x,y=%d,%d\n",x,y);}运行结果:main:x,y=18,23subs:x,y=41,64main:x,y=36,234.(将字符串逆序。注意for循环只到一半长度就前后交换完了。若是循环整个长度则会前后交换两次,最后序次不变)程序代码:#include#includevoidfun(charss[]);voidmain(){chars[15]="567891234";fun(s);printf("%s\n",s);}voidfun(charss[]){inti,n=strlen(ss);for(i=0;ivoidInsertSort(inta[],intn){inti,j,x;for(i=1;i=0;j--)//为x序次向前搜寻合适的插入地址if(x>a[j])a[j+1]=a[j];elsebreak;a[j+1]=x;}}voidmain(){inti;inta[6]={20,15,32,47,36,28};InsertSort(a,6);for(i=0;i<6;i++)printf("%d",a[i]);printf("\n");}运行结果:4736322820156.程序代码:#includevoidmain(){inta[8]={3,5,7,9,11,13,15,17};inti,*p=a;for(i=0;i<8;i++){printf("%5d",*p++);if((i+1)%4==0)printf("\n");}}运行结果:3579111315177.程序代码:#includeintLA(int*a,intn){inti,s=0;for(i=0;iintLB(int*a,intn){inti,s=1;for(i=0;i=k)c++;returnc;}函数功能:统计整型数组a的前n个元素中不小于k的元素个数并返回3.程序代码:#include#include#includeconstintN=10;intff(intx,inty){intz;printf("%d+%d=",x,y);scanf("%d",&z);if(x+y==z)return1;elsereturn0;}voidmain(){inti,a,b,c=0;srand(time(0));//初始化随机数序列for(i=0;i#includevoidLI(intn){int*a=malloc(n*sizeof(int));inti;for(i=0;i=0;i--)printf("%d",*(a+i));printf("\n");free(a);}函数功能:读入n个整数,尔后逆序输出6.程序代码:intLK(doublea[],intn){doubles=0;inti,m=0;for(i=0;i=s)m++;returnm;}函数功能:返回双精度数数组a的前n个元素中不小于平均值的元素个数特别说明:题号后带有*的,该题有明显错误或大意,详细说明见《形考册勘误》C语言程序设计作业4(知识点覆盖范围:第7章至第8章)一、选择题1*.A2.B3.C4.D5.B6.D二、填空题1*.122.243*.204.malloc(n*sizeof(structWorker))5.*x.a6.*p->b7.fp->score三、写出以下每个程序运行后的输出结果1.程序代码:#includestructWorker{charname[15];//姓名intage;//年龄floatpay;//薪水};voidmain(){structWorkerx={"wanghua",52,2350};structWorkery,*p;y=x;p=&x;printf("%s%d%6.2f\n",y.name,y.age,y.pay);printf("%s%d%6.2f\n",p->name,p->age+1,p->pay+20);}运行结果:wanghua522350.00wanghua532370.002.程序代码:#include#includestructWorker{charname[15];//姓名intage;//floatpay;//年龄薪水};voidmain(){structWorkerx;char*t="liouting";intd=38;floatf=493;strcpy(x.name,t);x.age=d;x.pay=f;x.age++;x.pay*=2;printf("%s%d%6.2f\n",x.name,x.age,x.pay);}运行结果:liouting39986.003.(输出年龄最大者的信息)程序代码:#includestructWorker{charname[15];//姓名intage;//floatpay;//年龄薪水};intLess(structWorkerr1,structWorkerr2){if(r1.age 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 输入设备读入n-1个人员的信息,依次存到结构数组的a[1]到a[n-1]元素中2.程序代码:structStrNode{charname[15];//字符串域structStrNode*next;//指针域};structStrNode*QB(intn){structStrNode*f,*p;if(n==0)returnNULL;f=malloc(sizeof(structStrNode));scanf("%s",f->name);p=f;while(--n){p=p->next=malloc(sizeof(structStrNode));scanf("%s",p->name);}p->next=NULL;returnf;}函数功能:创办拥有n个structStrNode结点的单向链表并返回其表头结点地址,n为0时返回NULL3.程序代码:structIntNode{intdata;//结点值域structIntNode*next;//结点指针域};structIntNode*FindMax(structIntNode*f){structIntNode*p=f;if(!f)returnNULL;f=f->next;while(f){if(f->datadata)p=f;f=f->next;}returnp;}函数功能:查找表头指针为f的单向链表中结点data域最小的结点,并返回其地址。如链表为空则返回NULL4.*程序代码:structIntNode{intdata;//结点值域structIntNode*next;//结点指针域};intCount(structIntNode*f){intc=0;while(f){c++;f=f->next;}returnc;}函数功能:统计并返回表头指针为f的单向链表结点个数5.*程序代码:structIntNode{intdata;//结点值域structIntNode*next;//结点指针域};structIntNode*Input(intn){structIntNode*f,*p;f=malloc(sizeof(structIntNode));if(n==0)returnNULL;f->next=NULL;printf("从键盘输入%d个整数:",n);while(n--){scanf("%d",&(f->data));p=f;f=malloc(sizeof(structIntNode));f->next=p;}returnf->next;}函数功能:依照输入的n个整数,从表尾结点开始逆序创办拥有返回其表头结点地址,n为0时返回NULLn个structIntNode结点的单向链表。6.(即练习题8.2第1小题)程序代码:#include#include#includevoidJA(char*fname){FILE*fout=fopen(fname,"w");chara[20];printf("输入若干个字符串,每个字符串长度小于20,字符串end作为结束标志\n");while(1){scanf("%s",a);if(strcmp(a,"end")==0)break;fputs(a,fout);fputc('\n',fout);}fclose(fout);}voidmain(){char*p="d:\\xxk\\xuxk1.txt";JA(p);}函数功能:将输入的若干个字符串保存到文本文件d:\xxk\xuxk1.txt中,每个字符串一行。输入的单个字符串长度必定小于20,输入字符串end结束
本文档为【电大C语言形考册参考答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
快乐甜甜
暂无简介~
格式:doc
大小:44KB
软件:Word
页数:23
分类:
上传时间:2023-03-08
浏览量:2