您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 二级C语言编程题 汇总整理篇
月内部资料内部资料,请勿公开传播三、编程题考试做题要求:1、按题目要求编写部分代码,不要改动已经有的代码。2、在运行时如果遇到死循环,按Ctrl+Break键结束运行。3、题目做完后必须要有运行结果,没有运行结果没有分。1:请编写函数fun,其功能是:计算并输出下列多项式的值:例如,在主函数中从键盘给n输入8后,输出为:s=0.662872。注意:要求n的值大于1但不大于100。部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includestdio.hdoublefun(intn){}main(){intn;doubles;printf(\nInputn:);scanf(%d,&n);s=fun(n);printf(\ns=%f\n,s);NONO();}NONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;intn,i;doubles;rf=fopen(c:\\test\\in.dat,r);wf=fopen(c:\\test\\out.dat,w);for(i=0;i10;i++){fscanf(rf,%d,&n);s=fun(n);fprintf(wf,%lf\n,s);}fclose(rf);fclose(wf);}2:学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includestdio.h#includestring.h#defineN16typedefstruct{charnum[10];ints;}STREC;STRECfun(STREC*a,char*b){}main(){STRECs[N]={{GA005,85},{GA003,76},{GA002,69},{GA004,85},{GA001,91},{GA007,72},{GA008,64},{GA006,87},{GA015,85},{GA013,91},{GA012,64},{GA014,91},{GA011,77},{GA017,64},{GA018,64},{GA016,72}};STRECh;charm[10];inti;FILE*out;printf(Theoriginaldata:\n);for(i=0;iN;i++){if(i%4==0)printf(\n);printf(%s%3d,s[i].num,s[i].s);}printf(\n\nEnterthenumber:);gets(m);h=fun(s,m);printf(Thedata:);printf(\n%s%4d\n,h.num,h.s);printf(\n);out=fopen(c:\\test\\out.dat,w);h=fun(s,GA013);fprintf(out,%s%4d\n,h.num,h.s);fclose(out);}3:已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includestdio.h#includestring.h#defineN10typedefstructss{charnum[10];ints;}STU;fun(STUa[],STU*s){}main(){STUa[N]={{A01,81},{A02,89},{A03,66},{A04,87},{A05,77},{A06,90},{A07,79},{A08,61},{A09,80},{A10,71}},m;inti;printf(*****Theoriginaldata*****\n);for(i=0;iN;i++)printf(No=%sMark=%d\n,a[i].num,a[i].s);fun(a,&m);printf(*****THERESULT*****\n);printf(Thetop:%s,%d\n,m.num,m.s);NONO();}NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf;STUa[N],m;inti;rf=fopen(c:\\test\\in.dat,r);wf=fopen(c:\\test\\out.dat,w);for(i=0;i10;i++)fscanf(rf,%s%d,a[i].num,&a[i].s);fun(a,&m);fprintf(wf,Thetop:%s,%d\n,m.num,m.s);fclose(rf);fclose(wf);}4:请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。例如,若输入:17,则应输出:46891012141516。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includestdio.hvoidfun(intm,int*k,intxx[]){}main(){intm,n,zz[100];printf(\nPleaseenteranintegernumberbetween10and100:);scanf(%d,&n);fun(n,&m,zz);printf(\n\nThereare%dnon-primenumberslessthan%d:,m,n);for(n=0;nm;n++)printf(\n%4d,zz[n]);NONO();}NONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/intm,n,zz[100];FILE*rf,*wf;rf=fopen(c:\\test\\in.dat,r);wf=fopen(c:\\test\\out.dat,w);fscanf(rf,%d,&n);fun(n,&m,zz);fprintf(wf,%d\n%d\n,m,n);for(n=0;nm;n++)fprintf(wf,%d\n,zz[n]);fclose(rf);fclose(wf);}5:请编写一个函数unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则函数返回23。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includestdio.hunsignedfun(unsignedw){}main(){unsignedx;printf(Enteraunsignedintegernumber:);scanf(%u,&x);printf(Theoriginaldatais:%u\n,x);if(x10)printf(Dataerror!);elseprintf(Theresult:%u\n,fun(x));NONO();}NONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/unsignedx;inti;FILE*rf,*wf;rf=fopen(c:\\test\\in.dat,r);wf=fopen(c:\\test\\out.dat,w);for(i=0;i20;i++){fscanf(rf,%u,&x);fprintf(wf,%u\n,fun(x));}fclose(rf);fclose(wf);}6:请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入beijingCRshanghaiCR(CR为回车键),函数将返回shanghai。注意:部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includestdio.hchar*fun(char*s,char*t){}main(){chara[20],b[20];printf(Input1thstring:);gets(a);printf(Input2thstring:);gets(b);printf(%s\n,fun(a,b));NONO();}NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti;chara[20],b[20];fp=fopen(c:\\test\\in.dat,r);wf=fopen(c:\\test\\out.dat,w);for(i=0;i10;i++){fscanf(fp,%s%s,a,b);fprintf(wf,%s\n,fun(a,b));}fclose(fp);fclose(wf);}7:请编写函数fun,函数的功能是:实现B=A+A',即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。例如,输入下面的矩阵:其转置矩阵为:123147456258789369程序输出:261061014101418注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includestdio.hvoidfun(inta[3][3],intb[3][3]){}main()/*主程序*/{inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3];inti,j;fun(a,t);for(i=0;i3;i++){for(j=0;j3;j++)printf(%7d,t[i][j]);printf(\n);}NONO();}NONO(){/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti,j,k,a[3][3],t[3][3];FILE*rf,*wf;rf=fopen(c:\\test\\in.dat,r);wf=fopen(c:\\test\\out.dat,w);for(k=0;k5;k++){for(i=0;i3;i++)fscanf(rf,%d%d%d,&a[i][0],&a[i][1],&a[i][2]);fun(a,t);for(i=0;i3;i++){for(j=0;j3;j++)fprintf(wf,%7d,t[i][j]);fprintf(wf,\n);}}fclose(rf);fclose(wf);}8:假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后的
本文标题:二级C语言编程题 汇总整理篇
链接地址:https://www.777doc.com/doc-3261923 .html