欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机C语言期末考试复习试题及答案[1].pdf

    • 资源ID:83470769       资源大小:1.01MB        全文页数:26页
    • 资源格式: PDF        下载积分:19.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机C语言期末考试复习试题及答案[1].pdf

    C 语言复习题【程序填空】题目:利用全局变量计算长方体的体积及三个面的面积。/int s1,s2,s3;int vs(int a,int b,int c)int v;/*SPACE*/v=【?】;s1=ab;/*SPACE*/s2=【?】;s3=a*c;return v;main()int v,l,w,h;clrscr();printf(”ninput length,width and height:);/*SPACE*/scanf(”%d%d%d,【?】,w,h);/*SPACE*/v=【?】;printf(”v=d s1=d s2=d s3=%dn,v,s1,s2,s3);getch();答案:=(答案 1)=a*b*c =或=a*b*c =(答案 2)=b*c =或=b*c =(答案 3)=&l =(答案 4)=vs(l,w,h)=或=vs(l,w,h)第 2 题(12。0 分)题号:441 /-【程序填空】题目:给定程序中函数 fun 的功能是:从低位开始取出长整型变量 s 中奇数位上的数,依次构成一个新数放在 t 中。*/#include conio.h#include void fun(long s,long*t)long sl=10;s/=10;/*SPACE*/t=s【?】10;while(s0)/*SPACE*/s=【?】;/*SPACE*/t=s%10sl【?】;/*SPACE*/sl=sl【?】10;main()long s,t;clrscr();printf(”nPlease enter s:);scanf(”ld”,s);fun(s,&t);printf(”The result is:%ldn,t);答案:=(答案 1)=(答案 2)=s/100 四、程序改错共 2 题(共计 22 分)第 1 题(11。0 分)题号:383 /*-【程序改错】题目:给定程序的功能是:读入一行英文文本,将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。例如,若输入 I am a student to take the examination。,则应输出I aM A studenT tO takE thE examination。”.注意:不可以增加或删除程序行,也不可以更改程序的结构。*/include conio。h include stdio.h include”ctype.h include”string。h up1st(char p)/*FOUND*/integer k=0;for(;p;p+)if(k)/*FOUND*/if(p=)k=0;/*FOUND*/*(p 1)=toupper((p 1);else if(p!=)k=1;(p1)=toupper(*(p-1));main()char chrstr81;printf(”nPlease enter a string:”);gets (chrstr);printf(”nnBefore changing:n%s,chrstr);up1st(chrstr);printf(”nAfter changing:n s,chrstr);答案:=(答案 1)=int k=0;=(答案 2)=if(p=)=(答案 3)=*(p-1)=toupper(p 1);第 2 题(11。0 分)题号:431 /*-【程序改错】题目:编写函数 fun 求 1000 以内所有 8 的倍数之和。注意:不可以增加或删除程序行,也不可以更改程序的结构。includestdio。h”define N 1000 main()int sum;sum=fun(8);printf(”d 以内所有%d 的倍数之和为:dn”,N,8,sum);getch();int fun(int m)/*FOUND*/int s=0;i;/*FOUND*/for(i=1;iN;i+)/*FOUND*/if(i/m=0)s+=i;return s;答案:=(答案 1)=int s=0,i;=(答案 2)=for(i=1;iN;i+)=(答案 3)=if(im=0)五、程序设计共 1 题(共计 14 分)第 1 题(14.0 分)题号:390 /-【程序设计】题目:求一批数中最大值和最小值的差。注意:部分源程序给出如下.请勿改动主函数 main 和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。-/int max_min(int a,int n)/*Program*/*End*/#define N 30 include”stdlib.h include stdio.h main()int aN,i,k;clrscr();for(i=0;iN;i+)ai=random(51)+10;for(i=0;iN;i+)printf(”%5d,ai);if((i+1)%5=0)printf(n);k=max_min(a,N);printf(”the result is:dn”,k);yzj();getch();yzj()FILE*IN,OUT;int n;int i30;int o;IN=fopen(”in.dat,r);if(IN=NULL)printf(Read File Error);OUT=fopen(”out.dat,”w);if(OUT=NULL)printf(Write File Error);for(n=0;n5;n+)fscanf(IN,”%d,in);o=max_min(i,5);fprintf(OUT,”%dn”,o);fclose(IN);fclose(OUT);答案:-int i,max,min;max=min=a0;for(i=1;imax)max=ai;else if(ai min)min=ai;return(maxmin);题目:以下程序的功能是用冒泡法对数组 a 进行由小到大的排序。void fun(int a,int n)int i,j,t;/*SPACE*/for(j=0;【?】;j+)/*SPACE*/for(i=0;【?】;i+)/*SPACE*/if(【?】)t=ai;ai=ai+1;ai+1=t;main()int i,a10=3,7,5,1,2,8,6,4,10,9;/*SPACE*/【?】;for(i=0;i10;i+)printf(”%3d”,ai);答案:=(答案 1)=j=n1 =或=n1=j =或=j=1+n =或=1+n=j =或=jn =或=nj =(答案 2)=ii =或=ii =或=i=nj-2 =或=ia i+1 =或=a i+1 ai =(答案 4)=fun(a,10)【程序设计】题目:请用 for 循环编写编写函数 fun,函数的功能是:计算 n 门课程的平均值,计算结果作为函数值返回。例如,若有 5 门课程的成绩是:92,76,69,58,88,则函数的值为 76。600000。注意:部分源程序给出如下。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句.-/include stdio.h”float fun(int a,int n)/*Program*/*End*/main()int a=92,76,69,58,88;printf(”y=%fn”,fun(a,5));yzj();yzj()FILE*IN,OUT;int iIN10,i,j;float fOUT;IN=fopen(18。in”,”r”);if(IN=NULL)printf(”Please Verify The Currernt Dir。It May Be Changed);OUT=fopen(”18.out”,”w);if(OUT=NULL)printf(”Please Verify The Current Dir.It May Be Changed);for(j=0;j10;j+)for(i=0;i5;i+)fscanf(IN,d”,iINi);fOUT=fun(iIN,5);fprintf(OUT,fn”,fOUT);fclose(IN);fclose(OUT);答案:-int i;float y=0;for(i=0;i void strcopy(char str1,char*str2,int m)/*FOUND*/char p1,p2;int i,j;/*FOUND*/=str1+m;p2=str2;/*FOUND*/if(p1);*p2+=*p1+;p2=0;main()int i,m;char p1,*p2,str180,str280;p1=str1;p2=str2;gets(p1);scanf(”%d”,m);/*FOUND*/strcat(str10,str20,m);puts(p1);puts(p2);答案:=(答案 1)=char p1,*p2;=或=char p2,p1;=(答案 2)=p1=str1+m-1;=或=p1=1+str1+m;=(答案 3)=while(p1)=(答案 4)=strcopy(str1,str2,m);五、程序设计共 1 题(共计 14 分)第 1 题(14。0 分)题号:377 【程序设计】题目:编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序。注意:部分源程序给出如下。请勿改动主 函数 main 和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句.-/#include void swap(int*a,int b)/*Program*/*End*/main()int x,y,z;scanf(%d%dd”,x,y,z);if(xy)swap(&x,&y);if(xz)swap(x,&z);if(yz)swap(&y,z);printf(3d3d%3d,x,y,z);yzj();getch();yzj()FILE IN,*OUT;int m,n;int i2;int o;IN=fopen(in。dat”,r);if(IN=NULL)printf(Read File Error);OUT=fopen(”out。dat”,”w);if(OUT=NULL)printf(”Write File Error”);for(n=0;n3;n+)for(m=0;m2;m+)fscanf(IN,d,&im);swap(&i0,&i1);fprintf(OUT,%dn,i0);fprintf(OUT,”dn”,i1);fclose(IN);fclose(OUT);答案:-int k;k=a;a=b;*b=k;【程序填空】题目:当输入“2,5的时候输出为“2 5 5”*/include#define max 100 main()int fmax,i,j,k,m;scanf(”%d,d”,&k,m);/*SPACE*/for(i=0;i=【?】;i+)fi=0;/*SPACE*/f【?】=1;for(i=k;i=m;i+)/*SPACE*/for(j=i-k;j=i-1;j+)fi【?】fj;printf(%d10d10dn,k,m,fm);答案:=(答案 1)=m =(答案 2)=k1 =或=k 1 =(答案 3)=+=或=1+第 2 题(12.0 分)题号:438 /-【程序填空】题目:求出二维数组中的最大元素值。-/#include stdio.h”void main()int a34=1,3,5,7,2,4,6,8,15,17,34,12;/*SPACE*/printf(max value is%dn,【?】);max_value(m,n,array)/*SPACE*/int m,n,【?】;int i,j,max;max=array00;for(i=0;im;i+)for(j=0;jn;j+)/*SPACE*/if(maxarrayij)【?】;return(max);答案:=(答案 1)=max_value(3,4,a)=(答案 2)=array4 =(答案 3)=max=arrayij【程序改错】题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?注意:不可以增加或删除程序行,也不可以更改程序的结构./#includestdio.h”main()/*FOUND*/float sn=100.0;hn=sn/2;int n;/*FOUND*/for(n=2;n10;n+)sn=sn+2*hn;/*FOUND*/hn=hn%2;printf(the total of road is fn”,sn);printf(”the tenth is%f metern”,hn);答案:=(答案 1)=float sn=100。0,hn=sn/2;=(答案 2)=for(n=2;n=10;n+)=或=for(n=2;n11;n+)=(答案 3)=hn=hn/2;五、程序设计共 1 题(共计 14 分)第 1 题(14。0 分)题号:40 /*-【程序设计】题目:请用 for 循环编写函数 fun,它的功能是:判断 m 是否为素数。主函数的功能是:求出 100 到 200之间的素数的个数。(注意:部分源程序给出如下.请勿改动主)函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。-/include”stdio.h”main()int m,k=0;for(m=100;m200;m+)if(fun(m))printf(%4d,m);k+;if(k%5=0)printf(”n);printf(”k=dn”,k);yzj();int fun(int m)/*Program*/*End*/yzj()FILE*IN,*OUT;int iIN,iOUT,i;IN=fopen(”12。in,r);if(IN=NULL)printf(”Please Verify The Currernt Dir.It May Be Changed”);OUT=fopen(12.out”,”w”);if(OUT=NULL)printf(”Please Verify The Current Dir。.It May Be Changed);for(i=0;i10;i+)fscanf(IN,”d”,&iIN);iOUT=fun(iIN);fprintf(OUT,%dn,iOUT);fclose(IN);fclose(OUT);答案:-int i,k=1;if(m=1)k=0;for(i=2;im;i+)if(mi=0)k=0;return k;若使用一维数组名作函数实参,则以下正确的说法是().A:必须在主调函数中说明此数组的大小 B:实参数组类型与形参数组类型可以不匹配 C:在被调用函数中,不需要考虑形参数组的大小 D:实参数组名与形参数组名必须一致 答案:A 第 11 题(1.0 分)题号:125 下列程序的输出结果是().main()int a=7,b=5;printf(dn,b=b/a);A:0 B:5 C:1 D:不确定值 答案:A 第 12 题(1。0 分)题号:2857 经过下列的语句 int j,a10,*p;定义后,下列语句中合法的是().A:p=p+2;B:p=a5;C:p=a2+2;D:p=&(j+2);答案:A 第 13 题(1。0 分)题号:378 下列字符序列中,不可用作 C 语言标识符的是()。A:b70 B:ab C:symbol D:a_1 答案:B 第 14 题(1。0 分)题号:3096 以下不是无限循环的语句为()。A:for(y=0,x=1;x+y;x=i+)i=x;B:for(;;x+=i);C:while(1)x+;D:for(i=10;;i-)sum+=i;答案:A 第 15 题(1。0 分)题号:407 若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 十进制代码为 97),则以下程序段的执行结果是()。ch=a;k=12;printf(x,o,”,ch,ch,k);printf(k=dn,k);A:因变量类型与格式描述符的类型不匹配,输出无定值 B:输出项与格式描述符个数不符,输出为零值或不定值 C:61,141,k=%d D:61,141,k=12 答案:C 第 16 题(1.0 分)题号:484 在位运算中,操作数每右移一位,其结果相当于().A:操作数乘以 2 B:操作数除以 2 C:操作数乘以 16 D:操作数除以 16 答案:B 第 17 题(1.0 分)题号:543 若有 int a10=0,1,2,3,4,5,6,7,8,9,*p=a;则输出结果不为 5 的语句为()。A:printf(”%d”,(a+5));B:printf(”d”,p5);C:printf(”d”,*(p+5));D:printf(%d,p5);答案:D 第 18 题(1.0 分)题号:301 以下标识符中,不能作为合法的 C 用户定义标识符的是()。A:a3_b3 B:void C:_123 D:IF 答案:B 第 19 题(1。0 分)题号:2848 C 语言程序中,当调用函数时().A:实参和虚参各占一个独立的存储单元 B:实参和虚参可以共用存储单元 C:可以由用户指定是否共用存储单元 D:计算机系统自动确定是否共用存储单元 答案:A 第 20 题(1。0 分)题号:410 已知字母 a 的 ASCII 十进制代码为 97,则执行下列语句后的输出结果为()。char a=a;a;printf(d,%cn,a+20,a+3-0);A:b,c B:a-运算不合法,故有语法错 C:98,c D:格式描述和输出项不匹配,输出无定值 答案:C 第 21 题(1.0 分)题号:2993 下列程序段的输出结果为().int a=7,b=9,t;t=a=ab?a:b;printf(”d”,t);A:7 B:9 C:63 D:49 答案:C 第 22 题(1.0 分)题号:701 设 char s=”ta017bc;则指针变量 s 指向的字符串所占的字节数是()。A:9 B:5 C:6 D:7 答案:C 第 23 题(1.0 分)题号:629 为了避免在嵌套的条件语句 if-else 中产生二义性,C 语言规定:else 子句总是与()配对.A:缩排位置相同的 if B:其之前最近的 if C:其之后最近的 if D:同一行上的 if 答案:B 第 24 题(1.0 分)题号:392 下列数据中,为字符串常量的是()。A:A B:house C:How do you do。D:abc 答案:B 第 25 题(1。0 分)题号:2789 设 C 语言中,int 类型数据占 4 个字节,则 short 类型数据占()。A:1 个字节 B:2 个字节 C:4 个字节 D:8 个字节 答案:B 第 26 题(1.0 分)题号:620 下列运算符中优先级最高的是()。A:0E0)C:(E=0)D:(E!=0)答案:C 第 28 题(1.0 分)题号:699 下面说明不正确的是().A:char a10=china;B:char a10,p=a;p=china”C:char a;a=china;D:char a10,*p;p=a=china 答案:D 第 29 题(1.0 分)题号:2885 以下标识符中,不能作为合法的 C 用户定义标识符的是()。A:putchar B:_double C:_123 D:INT 答案:A 第 30 题(1。0 分)题号:580 设变量 a 是整型,f 是实型,i 是双精度型,则表达式 10+a+if 值的数据类型为()。A:int B:float C:double D:不确定 答案:C 三、程序填空共 2 题(共计 24 分)第 1 题(12.0 分)题号:404 /*-【程序填空】题目:从键盘上输入两个复数的实部与虚部,求出并输出它们的和、差、积、商。*/#includestdio。h void main()float a,b,c,d,e,f;printf(输入第一个复数的实部与虚部:”);scanf(”f,f”,&a,&b);printf(输入第二个复数的实部与虚部:);scanf(”f,%f,c,&d);/*SPACE*/【?】;f=b+d;printf(”相加后复数:实部:%f,虚部:fn”,e,f);e=ac-bd;/*SPACE*/【?】;printf(”相乘后复数:实部:f,虚部:%fn”,e,f);e=(a*c+bd)/(c*c+dd);/*SPACE*/【?】;printf(”相除后复数:实部:%f,虚部:fn”,e,f);答案:=(答案 1)=e=a+c =或=e=c+a =(答案 2)=f=a*d+bc =或=f=a*d+bc =或=f=a*d+b*c =(答案 3)=f=(bc-a*d)/(cc+d*d)=或=f=(b*c-ad)/(c*c+dd)=或=f=(b c a*d)/(c*c+d*d)程序改错】题目:打印出杨辉三角形(要求打印出 10 行)。注意:不可以增加或删除程序行,也不可以更改程序的结构。/include”stdio。h main()int i,j;int a10 10;printf(”n”);/*FOUND*/for(i=1;i10;i+)ai0=1;ai i=1;/*FOUND*/for(i=1;i10;i+)for(j=1;ji;j+)/*FOUND*/ai i=ai-1 j-1+ai-1 j;for(i=0;i10;i+)for(j=0;j=i;j+)printf(”%5d”,ai j);printf(n”);getch();答案:=(答案 1)=for(i=0;i10;i+)=或=for(i=0;i=9;i+)=(答案 2)=for(i=2;i#include stdio.h#include string.h void fun(char s,char*t)/*FOUND*/int i;sl=strlen(s);for(i=0;isl;i+)/*FOUND*/ti=ssli;for(i=0;isl;i+)tsl+i=si;/*FOUND*/t2*sl=”0”;main()char s100,t100;printf(”nPlease enter string s:);scanf(s,s);fun(s,t);printf(The result is:sn”,t);getch();答案:=(答案 1)=int i,sl;=(答案 2)=ti=ssli-1;=(答案 3)=t2*sl=0;=或=t2sl=0;【程序填空】题目:以下程序的功能是统计一个字符串中的字母、数字、空格、和其它字符的个数。-*/include stdio.h main()char s180;int a4=0;int k;/*SPACE*/【?】;gets(s1);/*SPACE*/【?】;puts(s1);for(k=0;k4;k+)printf(%4d”,ak);void fun(char s,int b)int i;for(i=0;si!=0;i+)if(a=si&si=zA=sisi=0 si=9 =或=0=si =或=48=si&si=57 =或=si=48&si=57 =或=48=si =(答案 4)=si=或=si=32【程序改错】题目:给定程序 MODI1.C 的功能是:删除 w 所指数组中下标为 k 的元素中的值。程序中,调用了 getindex、arrout 和 arrdel 三个函数,getindex 用以输入所删元素的下标,函数中对输入的下标进行检查,若越界,则要求重新输入,直到正确为止。arrout 用以输出数组中的数据,arrdel 进行所要求的删除操作。注意:不可以增加或删除程序行,也不可以更改程序的结构。*/include conio.h include”stdio。h”#define NUM 10 /*FOUND*/arrout(int w,int m)int k;/*FOUND*/for(k=1;k m;k+)/*FOUND*/printf(”d”wk);printf(”n);arrdel(int w,int n,int k)int i;for(i=k;i n-1;i+)wi=wi+1;n;return n;getindex(int n)int i;do printf(nEnter the index 0=i%d:,n);scanf(d”,&i);while(i 0|i n1);return i;main()int n,d,aNUM=21,22,23,24,25,26,27,28,29,30 ;n=NUM;printf(Output primary data:n);arrout (a,n);d=getindex(n);n=arrdel(a,n,d);printf(Output the data after delete:n);arrout(a,n);答案:=(答案 1)=arrout(int*w,int m)=(答案 2)=for(k=0;k m;k+)=(答案 3)=printf(”%d,wk);【程序改错】题目:给定程序 MODI1.C 中函数 fun 的功能是:求两个形参的乘积和商数,并通过形参返回调用程序。例如输入:61。82 和 12。65,输出为:c=782。023000 d=4.886957 注意:不可以增加或删除程序行,也不可以更改程序的结构./#include stdio。h include /*FOUND*/void fun(double a,b,double*x,double y)/*FOUND*/x=a*b;/*FOUND*/y=a/b;main()double a,b,c,d;printf(”Enter a,b:);scanf(%lf%lf,a,&b);fun(a,b,&c,d);printf(”c=%f d=fn”,c,d);getch();答案:=(答案 1)=void fun(double a,double b,double x,double y)=(答案 2)=x=a*b;=(答案 3)=y=a/b;【程序设计】请编写一个函数 fun,函数的功能是:求出 NM 整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。例如:输入的数组为:1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为 18,行坐标为 2,列坐标为 1。注意:部分源程序给出如下.请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。-/#define N 4 define M 3#include int Row,Col;main()int aNM,i,j,max,row,col;printf(input a array:”);for(i=0;iN;i+)for(j=0;jM;j+)scanf(%d,aij);for(i=0;iN;i+)for(j=0;jM;j+)printf(”d”,aij);printf(”n);max=fun(a);printf(max=d,row=%d,col=%d”,max,R ow,Col);getch();yzj();int fun(int arrayNM)/*Program*/*End*/yzj()FILE*IN,OUT;int iINNM,iOUT,i,j;IN=fopen(”in.dat,r”);if(IN=NULL)printf(”Please Verify The Currernt Dir。.It May Be Changed);OUT=fopen(”out。dat,”w);if(OUT=NULL)printf(”Please Verify The Current Dir.It May Be Changed”);for(i=0;iN;i+)for(j=0;jM;j+)fscanf(IN,”%d,&iINij);iOUT=fun(iIN);fprintf(OUT,%d d dn”,iOUT,Row,Col );fclose(IN);fclose(OUT);答案:-int max,i,j;max=array 00;Row=0;Col=0;for(i=0;iN;i+)for(j=0;jM;j+)if(maxarray ij)max=array i j;Row=i;Col=j;return(max);【程序改错】题目:函数 fun 的功能是:计算正整数 num 的各位上的数字之积。例如,输入 252,则输出应该是 20.请改正程序中的错误,使它能得出正确的结果。注意:不可以增加或删除程序行,也不可以更改程序的结构。/long fun(long num)/*FOUND*/long k;do k=num%10;/*FOUND*/num=10;while(num);return k;main()long n;printf(”nPlease enter a number:);/*FOUND*/scanf(ld,n);/*FOUND*/printf(n%ldn,fun(long n);答案:=(答案 1)=long k=1;=(答案 2)=num/=10;=或=num=num/10;=(答案 3)=scanf(”%ld,n);=(答案 4)=printf(”n%ldn,fun(n);52、有 10 个学生,每个学生的数据包括学号(stu_num,6 个字符,如 s00101)、姓名(name,8 个字符)、三门课程的成绩(score3,实型)及其平均分(avr,实型,初始时不赋值,)。首先输入这 10 个学生的数据,然后再计算每个学生 3 门课程的平均分,存回 avr 中,并输出第 6 号学生的所有信息。include stdio.h#define N 10 struct student char stu_num6;char name8;float score3;float avr;stuN;void main()float sum;int i,j;for(i=0;iN;i+)printf(”enter information of student d:n”,i+1);printf(stu_num:);scanf(”%s,stui.stu_num);printf(”name:);scanf(”s,stui。name);for(j=0;j3;j+)printf(”score%d:”,j+1);scanf(f,&stui.scorej);/此处的&运算符是指取结构体数组中元素的地址/for(i=0;iN;i+)sum=0;for(j=0;j3;j+)sum+=stui.scorej;stui。avr=sum/3。0;printf(stu_num name score1 score2 score3 average_scoren);printf(%6s10s,stu5。stu_num,stui.name);for(j=0;j3;j+)printf(”%9.2f,stu5.scorej);printf(%8。2f,stu5。avr);3.一个 8 层的灯塔,每一层的灯数是上一层的 2 倍,一共有 765 盏灯,求灯塔底层的灯数.(1)从键盘输入一个华氏温度,要求输出摄氏温度,公式为 C=5(F32)/9(2)编写一个函数求 y=(a-b)(a+b),主函数用以输入 a,b 的值和输出 y 值.(3)编一程序:从键盘输入 10 个整数,计算并输出这 10 个数的平均数。(4)通过键盘输入 34 矩阵,编写一个函数求所有元素中的最大值,其中主函数完成 34 矩阵的输入和最大元素的输出。Key 3.(1)main()float c,f;scanf(“%f”,&f);c=5。0(f32)/9;printf(“c=f,c);(2)int f(int a,int b)return(a-b)(a+b);main()int a,b;scanf(“%d,%d”,a,&b);printf(“y=d”,f(a,b);(3)main()int a10,j;float ave=0;for(j=0;j main()int max(int array4);int k,j,a3 4;for(k=0;k3;k+)for(j=0;j4;j+)scanf(“d,aij);printf(”the max is%d”,max(a);int max(int array4)int k,j,max;max=array0 0;for(k=0;k3;k+)for(j=0;j4;j+)if(arraykj max)max=arrayk j;return(max);51、输入一个 33 的整数矩阵,求其对角线元素之差。#include stdio。h void main()int a33,minus;int i,j;printf(”enter data:n”);for(i=0;i3;i+)for(j=0;j3;j+)scanf(d”,&aij);minus=a0 0;for(i=1;i3;i+)minus=minus-aii;printf(minus=6dn,minus);程序设计】题目:从键盘为一维整型数组输入 10 个整数,调用 fun 函数找出其中最小的数,并在 main 函数中输出。请编写 fun 函数。(用 for 循环)注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。#include stdio。h”int fun(int x,int n)/*Program*/*End*/main()int a10,i,min;for(i=0;i10;i+)scanf(”%d,ai);for(i=0;i10;i+)printf(%3d”,ai);printf(n”);min=fun(a,10);printf(dn”,min);yzj();yzj()FILE*IN,*OUT;int iIN10,i;int iOUT,iCOUNT;IN=fopen(4.in,”r);if(IN=NULL)printf(”Please Verify The Currernt Dir.It May Be Changed);OUT=fopen(”4.out”,”w);if(OUT=NULL)printf(”Please Verify The Current Dir.It May Be Changed);for(i=0;i10;i+)for(iCOUNT=0;iCOUNT10;iCOUNT+)fscanf(IN,”%d”,&iINiCOUNT);iOUT=fun(iIN,10);fprintf(OUT,”dn,iOUT);fclose(IN);fclose(OUT);答案:-int min,i;min=x0;for(i=1;in;i+)if(xi min)min=xi;return min;

    注意事项

    本文(计算机C语言期末考试复习试题及答案[1].pdf)为本站会员(l***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开