国家二级c语言上机考试分类编程题

举报
资源描述
编程题1、请编写函数firn,其功能是:找出IM整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序在文件P R Q G L C中。请勿改动主函数main和其它函数中的任何内容,仅在函数ftin的花括号中填入你编写的若干语句.#include#define M 4int fun(int aM J)main()int arr2 M=5,8,3,45,76,-4,1 2,82 ;void NONOQ;printf(nm a x =%dn fun(arr);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FI L E *w f;int arrM=5,8,3,9 0,76,-4,1 2,82 ;w f =fbpen(out.dat,w);fprintf(wf,umax=%dn,fun(arr);fclose(wf);)【参考答案】int fun(int aM)(int iJ,max=a00;for(i=0;i2;i+)for(j=0;jM;j+)if(maxaij)max=aij;return max;)2、请编写函数碗,其功能是:找出2 x M整型二维数组中最大元素的值,并将此值返回调用函数.注意:部分源程序在文件P RO G 1.C中.请勿改动主函数main和其它函数中的任何内客,仅在函数fUn的花括号中填入你编写的若干语句.#include#define M 4int fun(int aM)main()int arr2M=5,8,3,45,76,-4,12,82;void NONO();printf(nmax=%d n*f un(arr);NONO();void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*wf;int arrM 1=5,8,3,90,76,-4,12,82);wf =f open(,out.d at,wu);f printf(wf,max=%d n,f un(arr);f close(wf);)【参考答案】int fun(int aM)int iJ,max=a00;for(i=0;i2;i+)for(j=0;jM;j+)if(maxaij)max=aij;return max;编写酸firn,其功能急求出倒皿此间能被7或1 1 整 除,但 不 能 同 时 被 7和1 1 整除的所有整数,荆骐放在新雕数组 中,通 过 碰 回 这 些 数 的 个 乳注意:部分原程臊文件PR 0G 1.C 中.许嫩动主线m ai/艇儆中舱何内容,仅在由郑in的佛号棚入你嘱的若干语句.#includ e void f un(int*a,int*n)main()int aa1000,n,k;void NONO();f un(aa,&n);f or(k=0;k n;k+)if(k+1)%10=0)print。);else printf(n%5d,aak);NONO();void NONO()/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/int aa 10001,n,k;FILE*fp;f p=f open(out.d at,wn);f un(aa,&n);f or(k=0;k n;k+)if(k+1)%10=0)f printf(f p,An“);else f printf(f p,n%5dn,aa(k);f close(f p);【参考答案】void fun(int*a,int*n)(int ij=0;for(i=l;i=1000;i+)/*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/if(i%7=0|i%ll=0)&i%77!=0)aj+=i;*n=j;规定输入的字符串中只包含字母和俎编写函数血,其功能是:删除字符串中所有的*号.编写函数时,不得使用保言提供的字符串函数.例如,字符串中的内容为:*A*B C*D E F*G*,删除后字符串中的内容应当是:A B C D E FG.注总部分源程、在文件P RQG L C中.请勿在动主函数血睁其它函数中的任何内容,仅在函数fim的花样号中填入你编写的若干的语句.#includ e void f un(char*a)main()char s81;void NONO();printf(Enter a string:nM);gets(s);f un(s);printf(*The string af ter d eleted:n);puts(s);NONO();)void NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*in,*out;int i;char s|81;in=f open(in.d atn,rn);out=f open(out.d atn,nwn);f or(i=0;i;编写函数fim,具功能息实现两个字符串的连撤不要使用库函数strcat),即把p2所指的字符串连接到pl所指的字符串的后面。例如,分别输入下面两个字符串:FirstStringSecondString程序输出;FirstString SecondString注意:部分源程用在文件P RQG 1,时。谙勿改动主函数main和其它函数中的任何内容,仅在函数fiin的花括号中填入你编写的若干语句。#includ e void f un(char pl,char p2)main()charsl80,s240;void NONO();printf(Enter si and s2:nH);scanf(,%s%s,si,s2);printf(sl=%sn,s i);printf(,s2=%sn,s2);printf(Invoke f un(sl,s2):n);f un(sl,s2);printf(nAf ter invoking:n);printf(,%sn,s i);NONO();void NONO()/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/in ti;FILE*rf,*wf;char sl|80|,s2|40|;rf=f open(,in.d at;,rn);wf =f open(out,d atn,wn);f or(i=0;i 10;i+)f scanf(rf,n%sn,s i);f scanf(rf,M%sM,s2);f un(sl,s2);f printf(wf,H%snn,si);)f close(rf);f close(wf);)【参考答案】void fun(char pl,char p2)int ij;for(i=0;pli!=0;i+);forG=0;p2j!=0;j+)pli+=p2j;pli=O;某学生的记录由学与扪课程成绩和平均分组成,学号和8门 课 程 的 成 绻 已 在 主 函 数 中 给 出,谪 编 写 函 数ftm,其 功 能悬求出该学生的平均分,并 放 入 记 录 的av威 员 中.例 如,学生械绻悬85.5,76,69.5,85,91,72,64.5,87.5,则 他 的 平 均 分 应 为78耶.注 意:部 分 源 程 序 在 文 件P R Q G L时.请 勿 改 动 主 函 数m ain和 其 它 函 数 中 的 任 何 内 容,仅 在 函 数 圆部 位 中 境 入 你 给 写 的 若 干 卷 句.#include#define N 8typedef struct char num1 0;double sN;double ave;STRE C;void fun(STRE C *a)main()STRE C s=G A 0 0 5”,85.5,76,69.5,85,9 1,72,64.5,87.5;int i;void N O N O ();fun(&s);printf(/zThe%s s student data:n/z,s.num);for(i=0;i N;i+)printf(%4.lfn”,s.si);printf(z/nave=%7.3fn”,s.ave);N 0 N 0();)void N O N O()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FI L E *out;int i,j;STRE C s1 0 =“G A 0 0 5”,85.5,76,69.5,85,9 1,72,64.5,87.5,“G A 0 0 1”,82.5,66,76.5,76,89,76,46.5,78.5,“G A 0 0 2”,72.5,56,66.5,66,79,68,46.5,58.5,“G A 0 0 3”,9 2.5,76,86.5,86,9 9,86,56.5,88.5),“G A 0 0 4”,82,66.5,46.5,56,76,75,76.5,63.5,“G A 0 0 6”,75.5,74,71.5,85,81,79,64.5,71.5,G A 0 0 7,9 2.5,61,72.5,84,79,75,66.5,72.5,G A 0 0 8,72.5,86,73.5,80,69,63,76.5,53.5,G A 0 0 9 ,66.5,71,74.5,70,61,82,86.5,58.5,G A 0 1 0,76,66.5,75.5,60,76,71,9 6.5,9 3.5,);out=fopen(out.dat,w);for(i=0 ;i 1 0 ;i+)fun(&s i);fprintf(out,%7.3fn,si.a v e);)fclose(out);)【参考答案】oid f un(STREC*a)(d ouble ave=0.0;inti;f or(i=0;iave=a-ave+a-s i;/*求各门成绩的总和*/a-ave/=N;/*求平均分*/N名学生的成绩已在主函数中放入一个带头节点的链表结构中,城旨向链表的头节点.话编与必数面,其功能是:求出平均分,并由函数值返回。例如,若学生的成绩是:85 76 69 85 9 1 72 64 87,则平均分应当是,78.62 5.注意:部分源程用在文件P R0 G L C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fim的花括号中填入你编写的若干语句。#include#include#define N 8struct slist double s;struct slist*next;);typedef struct slist STRE C;double fun(STRE C *h)STRE C *creat(double*s)STRE C *h,*p,*q;int i=0;h=p=(STRE C*)malloc(siz eof(STRE C);p-s=0;while(is=si;i+;p-next=q;p=q;)p-next=0;return h;)outlist(STRE C *h)STRE C *p;p=h-next;printf(head);do printf(,z-%4.lf/z,p-s);p=p-next;while(p!=0);printf(nn);)main()double s N =85,76,69,85,9 1,72,64,87,ave;void N O N O ();STRE C *h;h=creat(s);outlist(h);ave=fun(h);printf(,zave=%6.3fn/z,ave);N O N O O ;)void N 0 N 0()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FI L E *in,*out;int i,j;double sN,ave;STRE C *h;in=fopen(in.dat,r);out=fopen(out.dat,w);for(i=0 ;i 1 0 ;i+)for(j=0 ;j next;while(p!
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新


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