还剩34页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
制兽机二狼©语言上机南开敢MG1第1题m个人的成绩寄存在score数组中,请编写函数fun,它的功能是将低于平均分的人作为函数值返回,揩低于平均分的分数放在below所指定的函数中..答案int funint score[],int m,int belowE]int i,k=0,aver=0;for i=0;i m;i++.aver+=score[i];aver/=m;for i=0;i m;i++ifscore[i]averbelow[k]=score[i];k++;.return k;2第2题请编写国数fun,它的功能是求出1到100之内能北7或者11整除,但不能同步北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数答案void funint*a,int*nint i,j=0;fori=2;i1000;i++if i%7==0||i%ll==0i%77!=0a[j++]=i;*n=j;3:第3题请编写区I数void funintx,int pp[],int*n,它的功能是求出能整除x且不是偶数的各整数,并按从小到大的次序放在PP所指的数组中,这些除数的个数通过形参n返回答案void funintx,int ppE],int*n int i=l,j=0;k=0,*t=pp;20:第20题编写函数int funintlim,int aa[max],该国数的功能是求出不不小于或等于lim的所有素数并放在aa数组中,该函I数返回所求的素数的个数答案int funintlim,int aa[MAX]{int k=0,1,j;fori=lim;il;i一|forj=2;ji;j++ifi%j==0break;elsecontinue;ifj=i{aa[k]=i;k++;.return k++;21:第21题请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其他5个字符按ascii码降序排列..答案void funchar*s,int num.char t;int I,j;fori=l;i num-2;i++forj=i+l;jnum-1;j++if s[i]s[j]|t=s[i];s[i]=s[j];22:第22题n名学生的成绩已在主函数中放入一种带头节点的链表构造中,h指向链表的头节点请编写函数fun,它的功能是找出学生的最高分,由函数值返回..答案double funSTREC*h doublemax;STREC*q=h;max=h-s;doifq-smaxmax=q-s;q=q-next;while q!=0;return max;23:第23题请编写函数fun,该函数的功能是判断字符串与否为回文若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no回文是指顺读和倒读都是同样的字符串答案int funchar*str{int I,n=0;fg=l;char*p=str;while*p{n++;.p++;.for i=0;in/2;i++if str[i]==str[n-l-i];else|fg=0;break;return fg;24:第24题请编写一种函数fun,它的功能是将一种字符串转换为一种整数不得调用C语言提供的将字符串转换为整数的函数答案long fun char*p longs=0,t;int i=0,j,n=strlen p,k,si;if p
[0]==J,i++forj=I;j=n-l;j++t=p[j]-@;sl=10;fork=j;kn-1;k++t*=sl;s+=t;if p
[0]==,一,return-s;elsereturn s;.25:第25题请编写一种函数fun,它的功能是比较两个字符串的长度,不得调用c语言提供的求字符串长度的函数,国数返回较长的字符串若两个字符串长度相似,则返回第一种字符串答案char*funchar*s,char*tchar*p,*tl=t,*sl=s;int n=0;m=0;while*sl|n++sl++;while*tl|m++;.tl++;ifn=mP=s;.elseP=t;return p;26:第26题请编写一种函数fun,它的功能是根据如下公式求x的值(规定满足精度
0.0005,即某项不不小于
0.0005时停止迭代):.x/2=l+l/3+l x2/3x5+l x2x3/3x5x7+lx2x3x4/3x5x7x9+…+1x2x3x…xn/3x5x7x(2n+l)程序运行后,假如输入精度
0.0005,则程序输出为
3.14…答案double fundoubleeps double s;.float n,t,pi;t=l;pi=0;n=l.0;s=l.0;whilefabss=eps pi+=s;t=n/2*n+l;s*=t;n++;.pi=pi*2;return pi;27:第27题请编写一种函I数fun,它的功能是求除1到m之内(含m)能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数..答案void funint m,int*a,int*n|int I,j=0;*n=0;for i=l;i=m;i++if i%7==0||.i%ll.==0a[j]=I;j++;.*n=j;28:第28题请编写一种函I数fun,它的功能是找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回数组元素中的值已在主函数中赋予主国数中x是数组名,n是x中的数据个数,max寄存最大值,index寄存最大值所在元素的下标答案:void fun int a[],int n,int*max,int*d int I;*max=a
[0];*d=0;fori=0;In;i++if a[i]*max*max=aEi];*d=I;29:第29题请编写一种函数fun,它的功能是将ss所指字符串中所有下标为奇数位置上的字母转换为大写若该位置上不是字母,则不转换O答案void funchar*ssint I,n;n=strlenss;for i=l;i n;i+=2if ss[i]=/ss[i]=ss[i]=ss[i]-32;.30:第30题请编写一种函I数fun,它的功能是求除一种2x m整型二维数组中最大元素的值,并揩此值返回调用函数答案:int fun int a[][M]int I,j,max;max=a
[0]
[0];fori=0;i2;i++forj=0;jM;j++if a[i][j]max max=a[i][j];return max;31第31题请编写函数fun,其功能是将s所指字符串中除了下标为偶数、同步ascii值也为偶数的字符外,其他的全都删除;串中剩余字符所形成的一种新串放在t所指的一种数组中答案void funchar*s,char t[]int I,j=0,n;n=strlens;fori=0;I,n;i++ifi%2==0s[i]%2==0|j++t[j]=,\0;32:第32题请编写函数fun,其功能是将s所指字符串中除了下标为奇数、同步ascii值也为奇数的字符之外,其他的所有字符都删除,串中剩余字符所形成的一种新串放在t所指的一种数组中..答案void funchar*s,char t[]|int I,j=0,n;n=strlens;fori=0;I,n;i++ifi%2!=0s[i]%2!=0t[j]=s[i];j++〉t[j]=\0;33:第33题假定输入的字符串中只包括字母和*号请编写国数fun,它的功能是使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除答案void funchar*a,int nint i=0;k=0;char*p,*t;p=t=a;while*tt++;.t一while*t==k++;.t一t++ifkn|while*ppt+n a[i]=*p;i++p++a[i]=;34:第34题学生的记录由学号和成绩构成,n名学生的数据已在主函数中放入构造体数组S中,请编写国数fun,它的功能使把分数最高的学生数据放在h所指的数组中,注意分数最高的学生也许不止一种,函数返回分数最高的学生的人数答案int funSTREC*a,STREC*b int I,j=0,n=0,max;max=a
[0].s;for i=0;i N;i++.ifa[i].smax max=a[i].s;fori=0;iN;i++ifa[i].s==max|*b+j=a[i];j++n++return n;35:第35题请编写一种函I数,用来删除字符串中的所有空格答案void funchar*str int i=0;char*p=str;while*p{if*p!=str[i]=*p;i++;.p++str[i]=,\0,;36:第36题假定输入的字符串中只包括字母和*号请编写函数fun,它的功能是将字符串中的前导*号所有移到字符串的尾部答案void funchar*a|int i=0,n=0;char*p;P=a;.while*p==n++p++while*pa[i]=*p;i++;.p++;.while n!=0{a[i]=i++n——a[i]=,\0;37:第37题某学生的记录由学号、8门课程成绩和平均分构成,学号和8门课程的成绩已在主函数中给出请编写国数fun,它的功能是求出该学生的平均分放在记录的ave组员中请自己定义对的的形参答案void funSTREC*p{double av=
0.0;int i:fori=0;iN;i++av+=p-s[i];av/=N;p-ave=av;38:第38题请编写函数fun,它的功能是求出ss所指字符串中指定字符的个数,并返回此值..答案int funchar*ss,char cint n=0;while*ss|if*ss==cn++;.ss++;return n;39:第39题请编写函数fun,该函I数的功能是移动一维数组中的内容,若数组中由n个整数,规定把下标从0到pp不不小于等于n-1的数组元素平移到数组的最终答案void funint*w,int p,int nint b[N],i,j=0;for i=0;i=p;i++|b[i]=wEi];j++;.fori=0;i=p;i++j++;40:第40题请编写函数fun,该函I数的功能是移动字符串中内容,移动的规则如下把第1到第m个字符,平移到字符串的最终,把第m+1到最终的字符移到字符串的前部..答案void funchar*w,int mchar b[N];int I,j=0;for i=0;i m;i++.|b[j]=w[i];j++;.for i=0;istrlenw-m;i++.w[i]=w[i+m];forj=0;jm;j++{w[i]=b[j];i++;w[i]=\0;41:第41题请编写函数fun,该国数的功能是将m行n列的二维数组中的字符数据,按列的次序依次放到一种字符串中答案void funchar*s[n],char*b{int i,j,k=0;forj=0;jn;j++fori=0;im;i++.{b[k]=**s+i+jk++;}b[k]=MO,;}42:第42题下列程序定义了n x n的二维数组,并在主国数中自动赋值请编写函数funinta[][n],int n,该国数的功能是将数组右上半三角元素中的值乘以m答案fori=0;i=x;i++ifi%2!=0j++fori=0;i j;i++if x%t[i]==O{pp[k]=t[i];k++*n=k;4:第4题请编写一种函l数voidfunchar*tt,intpp口,记录在tt字符中a到〃z〃26各字母各自出现的次数,并依次放在PP所指的数组中答案void funchar*tt,int pp口|int i;for i=0;i26;i++Pp[i]=0;while*tt{switch*ttcase/:pp
[0]++;break;case:pp[l]++;break;case«:pp
[2]++;break;case:pp
[3]++;break;case:pp
[4]++;break;case,广:pp
[5]++;break;case/:pp
[6]++;break;case:pp
[7]++;break;case k:pp
[8]++;break;case y:pp
[9]++;break;casepp
[10]++;break;case1’:pp
[11]++;break;case:pp
[12]++;break;case5,pp
[12]++;break;case W:pp
[14]++;break;case廿:pp
[15]++;break;void funint a[][n],int m{int i,j;forj=0;jn;j++fori=0;i=j;i++43:第43题编写一种函数,从传入的num个字符串中找出一种最长的一种字符串,并通过形参指针max传回该串地址用****作为结束输入的标志o□•char*funchar*a
[81],int num{int i;char*max;max=aE0];for i=0;i num;i++ifstrlenmax strlenamax=a;return max;}44:第44题编写一种函数,该函数可以记录一种长度为2的字符串在另一种字符串中出现的次数答案int funchar*str,char*substr{int n;char*p,*r;n=0;while*str{p=str;r=substr;while*r.if*r==*p{r++;p++;}elsebreak;if*r==,\0n++;.str++;}return n;}45:第45题假定输入的字符串中只包括字母和*号请编写函数fun,它的功能是只删除字符串前导和尾部的*号,串中字母之间的*号都不删除形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最终的*个数在编写时不得使用C语言给提供得字符串函数去宰.void funchar*a,int n,int h,int e{int i=0;char*p;forp=a+h;pa+n-e;p++{*a+i=*p;i++;}*a+i=\0’;}46:第46题学生得记录由学号和成绩组称个,n名大学生得数据已在主函数中放入构造体数组s中,请编写函数fun,它的功能时按分数的高下排列学生的记录,高分在前..答案void funstreca[]{int i,j;strec t;for i=0;i n-1;i++forj=i;sn;j++if a.sa[j]s{t=a;a=a[j];a[j]=t;}}47:第47题请编写一种国数void funchar*ss,其功能时符字符串ss中所有下标为奇数位置上的字母转换为大写若位置上不是字母,则不转换o答案:void funchar*ss{int i,n=0;char*p=ss;while*p{n++;p++;}for i=0;in;i++if ss=ss=7i%2!=0ss=ss-32;ss=\0’48:第48题请编写函数fun,其功能是将两个两位数的正整数a,b合并成一种整数放在c中合并的方式是将a数的十位和个位依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上答案void funint a,int b,long*c{*c=a/10*1000+b/10*100+a%10*10+b%10;}49:第49题请编写函数fun,其功能是将s所指字符串中下标位偶数同步ascii值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中答案void funchar*s,char t[]{int i,j=0,n=strlens;for i=0;i n;i++ifi%2==0s%2!=0else{f[j]=s;j++;}t[j]=\0;}50:第50题已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入a机构体数组中请编写函数fun,该函数的功能是找出成绩最高的学生记录,通过形参返回主函数规定只有一种最高分o答案void funstua[],stu*s{int i,max;max=a
[0].s;for i=0;in;i++if a.smax{max=a.s;*s=a;}}素数存入xx所指的数组中,柒素数的个数通过k传回;答案void funint m,int*k,int xx口{int i,j;int t=0;fori=2;im;i++{j=2;while ji{ifi%j==O{xx[t]=i;.t++;.break;}j++;}*k=t;}}52:.第52题编写一种函数fun,它的功能是实现两个字符串的连接不使用库函数strcat,即把p2所指的字符串连接到pl所指的字符串后答案void funchar pl[],charp2[]{int i=0,n=0;char*p=pl,*q=p2;while*p{p++;n++;}i=n;while*p{pl=*q;q++;i++;}pl=;}的转寄存在矩阵b中计算成果在main国数中输出53:第53题请编写函数fun,该函数的功能是实现b=a+a,即把矩阵a加上a答案:void funint a
[3]
[3],int b
[3]
[3]{int i,j,at
[3]
[3];fori=0;i=2;i++forj=0;j=2;j++at[j]=aEj];fori=0;i3;i++forj=0;j3;j++b[j]=aEj]+at[j];}54:第54题学生的记录由学号和成绩组称个,n名学生的数据已在主函数中放入构造体数组S中,请编写国数fun,它的功能是把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过国数值返回..答案double funstrec*a,strec*b,int*n{double aver=
0.0;int i,j=0;*n=0;for i=0;in;i++aver+=a.s;aver/=n;fori=0;in;i++if a.saver{b[j]=a;*n++;j++;return aver;}55:第55题请编写函数fun,该函数的功能是将m行n列的二维数组中的数据,按行的次序依次放到一维数组中,一维数组中数据的个数寄存在形参n所指的储存单元中..答案void funint*s
[10],int*b,int*n,int mm,int nn{int i,j;for i=0;i mm;i++forj=0;jnn;j++{b[*n]=**s+i+j;*n=*n+l;}}56:第56题假定输入的字符串中只包括字母和*号请编写函数fun,它的功能是除了尾部的*号之外,将字母串中其他*号所有删除形参P已指向字符串中最终的一种字母不使用C的字符串函数答案void funchar*a,char*p{int i=0;char*p=a;while q=p{if*q!={a=*q;i++;}q++;}while*q{a=*q;i++;.q++;}a=RO,;}57:第57题学生的记录是由学号和成绩构成,n名学生的数据已在主函数中放入构造体数组S中,请编写函数fun,它的功能是把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由国数值返回..答案int funstrec*a,strec*b,int1,int h{int i,j=0;for i=0;i n;i++if a.s=la.s=h{b[j]=a;j++;}return j;}58:第58题编写函数藏服那,它的功能是求n以内不包括n同步能被3与7整除的所有自然数之和的平方根s,并作为国数值返回.答案double funint n{double s=
0.0;int i;for i=l;i n;i++.ifi%3==0i%7==0s=s+i;s=sqrts;return s;}59:第59题请别写函数fun,该函数的功能是将放在字符串数组中的m个字符串每串的长度不超过n,按次序合并构成一种新的字符串..答案void funchar a[m][n],char*b{int i,j,k=0;for i=0;i m;i++.{forj=0;jn;j++if**a+i+j.{b[k]=**a+i+jk++;}elsebreak;b[k]=\0;}}60:第60题请编写函数fun,该国数的功能是删去一维数组中所有相似的数,使之只剩一种数组中的数已按由小到大的次序排列,国数返回删除后数组中数据的个数答案int funint a[],int n{int i,t,j=0,*p=a;t=p
[0];for i=0;i=n;i++if t==p elset=p;j++;}ifi=na[j]=t;return j;}61第61题第请编写函数fun,该国数的功能使记录各年龄段的人数N个年龄通过调用随机函数获得,并放在主函数的age数组中;规定函数把至9岁年龄段的人数放在d
[0]中,把10至19岁年龄段的人数放在d[l]中,把20至29岁的人数放在d
[2]中,其他以此类推,把100岁含100以上年龄的人数都放在d
[10]中成果在主函数中输出答案void funint*a,int*b{int i,j;forj=0;im;j++b[j]=O;fori=0;in;i++if a=0a=9b
[0]+=l;else if a=10a=19b[l]+=l;else if a=20a=29b
[2]+=1;else if a=30a=39b
[3]+=l;else if a=40a=49b
[4]+=1;else ifa=50a=59b
[5]+=l;else ifa=60a=69b
[6]+=l;else ifa=70a=79b
[7]+=l;else ifa=80a=89b
[8]+=l;else ifa=90a=99b
[9]+=l;elseb
[10]+=l;}62:第62题请编写函数fun,该11数的功能是:统一一含字符串中单词的个数,作为函数值返回一行字符串在主函数中输入,规定所有单词由小写字母构成,单词之间由若干个空格格开,一行的开始没有空格答案int funchar*s{int i,n=0;for i=0;i strlens;i++{ifs=匕,s=s[i+l]==||s[i+l]==,\0,n++;}return n;}63:第63题请编写一种国数fun,它的功能是计算并输出给定整数n的所有因子不包括1与自身之和规定n的值不不小于1000答案:int funint n{ints=0,i;for i=2;i=n-l;i++ifn%i==0s+=i;return s;}64:第64题请编写函数fun,其功能是将s所指字符串中ascii值为奇数的字符删除,串中剩余字符形成一种新串放在t所指的数组中答案void funchar*s,char t[]{int i,j=0,n;n=strlens;fori=0;in;i++ifs%2==0{t[j]=s;j++;}t[j]=AK;}65:第65题请编写函数fun,其功能是将两位数的正整数a、b合并成一种整数放在C中合并的方式是将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上答案void funinta,int b,long*c{*c=b%10*1000+a/10*100+b/10*10+a%10;}66:第66题假定输入的字符串中只包括字母和*号请编写函I数fun,它的功能是删除字符串中所有*号在编写函数时,不得使用C语言提供的字符串函|数答案void funchar*a{int i=0;char*p=a;while*p{if*p!={a=*p;i++;}p++;}a=\0;}67:第67题学生的记录时由学号和成绩构成,n名学生的数据已在主国数中放入构造体数组s中,请编写函数fun,它的功能时函数返回指定学号的学生数空串,给成绩:T,作为/数值返回用于字符串比较的函数时strcmp据,指定的学号在主函数中输入若没找到指定学号,在构造体变量中给学号答案:strec funstrec*,char*b{int i;strec h;fori=0;in;i++if strcmp a.num,b==0{h=a;break;}else{h.num==;h.s=-l;}return h;}68:第68题请编写函数fun,其功能时计算并输出下列多项式的值:sn=l+l/l!+l/2!+l/3!+l/4!+-+l/n!..生室.□•sn=l+l/l!+l/2!+1/3!+1/4!+...+l/n!double funint n{double t,sn=L0;int i,j;fori=l;in;i++.{t=l.0;forj=l;j=i;j++t*j;sn+=l.0/t;}return sn;}69:.第69题请编写一种函数fun,它的功能时求Fibonacci数列中不小于t的最小的一种数,成果由函数返回其中Fibonacci数列fn的定义为f0=0,fl=l,fn=fn-l+fn-2答案f0=0,f1=1,f n=f n-l+f n-2int funint t{inta=l,b=l,c=0,i;fori=4;i=t;i++{if ct{c=a+b;a=b;b=c;}elsebreak;}return c;}70:.第70题编写函数fun,它的功能时计算并输出下列级数和:s=l/l*2+l/2*3+-+l/n n+1去字.CD•double funint n{double s=
0.0;int i;for i=l;i=n;i++s=s+L0/i*i+l;return s;}71:第71题请编写函数fun,其功能时将两个两位数的正整数a、b合并形成一种整数放在c中,合并的方式是将a数的十位和个位数依次放在c数的十位和千位上,b的十位和个位整数依次放在c数的百位和个位上答案:void funinta,int b,long*c{*c=a%10*1000+b/10*100+a/10*10+b%10;}72:第72题请编写国数fun,其功能是将s所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在t所指数组中答案void funchar*s,char t[]{int i,j=0,n=strlens;fori=0;in;i++ifi%2!=0{t[j]=s;j++;}t[j]=,\0,;}case W:pp
[16]++;break;case:pp
[17]++;break;case勺:pp
[18]++;break;case:pp
[19]++;break;case3’:pp
[20]++;break;case:pp
[21]++;break;case:pp
[22]++;break;case:pp
[23]++;break;case:pp
[24]++;break;case:pp
[25]++;break;tt++;5第5题请编写一种函I数void funint m,int k,int xx口,该函数的功能是:将不小于整数m且紧靠m的k各素数存入xx所指的数组中答案void funintm,int k,int xx口|int g=0,1,j,flag=l;fori=m+l;i m*m;i++|forj=0;jI;j++{ifi%j!=Oflag=l;elseflag=0;break;if flag==lj=i{if k=0|xx[g++]=i;k一elsebreak;73:.第73题假定输入的字符串中只包括字母和*号,请编写国数fun,它的功能是除了字符串前导和尾部的*号之外,将串中其他*号所有删除形参h已指向字符串第一种字符,形参P已指向字符串中最终一种字母在编写程序时,不得使用c语言提供的字符串国数答案void funchar*a,char*h,char*p{int i=0;char*q=a;while qh{a=*q;q++i++;}while qp{if*q!=*{a=*q;i++;}q++;}while*q{a=*q;i++;.q++;}a=,\T;}74:第74题学生的记录由学号和成绩构成n名学生的数据已在主函数中放入构造体数组S中,请编写函数fun,它的功能时把分数最低的学生数据放在h所指的数组中,注意分数最低的学生也许不止一种,函I数返回分数最低的学生的人数答案int funstrec*a,strec*b{int i,j=0,n=0,min;min=a
[0].s;fori=0;in;i++ifa.smin min=a.s;fori=0;in;i++ifa.s==min{*b+j=a;j++;.n++;}return n;}75:.第75题请编写函数fun,该函数的功能将m行n列的二维数组中的数据,按列的顺学依次放到一维数组中答案void funint*s[]10,int*b,int*n,int mm,int nn{int i,j;forj=0;jnn;j++for i=0;i mm;i++{b[*]=**s+i+j;n*n=*n+l;}}的值,直到I sn-s n-1|
0.000001为止76:第76题请编写函数fun,其功能时计算并输出当x
0.97时下列多项式Sn=l+
0.5x+
0.
50.5-1/2!x⑵+…+
0.
50.5-
10.5-2•••..
0.5-n+l/n!xn答案:.double fundoublex{double sl=l.0,p=l.0,sum=
0.0,sO,t=L0;int n=l;do{s0=sl;sum+=s0;t*=n;p*=
0.5-n+l*x;sl=p/t;n++;}whilefabssl-s0le-6;return sum;}77:第77题请编写一种函I数fun,其功能是将两个两位数的正整数ab合并形成一种整数放在c中合并方式是将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上答案void funinta,int b,long*c{*c=b%10*1000+a%10*100+b/10*10+a/10;}78:第78题请编写函数fun,其功能是将s所指字符串中ascii值为偶数的字符删除,串中剩余字符形成一种新串放在t所指的数组中答案void funchar*s,char t[]{int i,j=0,n=strlens;fori=0;in;i++if s%2!=0{t[j]=s;j++;}t[j]=,\0,;}79:第79题已知学生的记录由学号和学习成绩构成,n名学生的数据已存入a构造体数组中请编写函数fun,该函数的功能是找出成绩最低的学生记录,通过形参返回主函数规定只有一种最低分o答案void funstua[],stu*s{int i,min;min=a
[0].s;fori=0;in;i++ifa.smin{min=a.s;.*s=a;}}80:第80题程序定义了nx n的二维数组,并在主国数中自动赋值请编写函I数fun,该国数的功能是使数组左下半三角元素中的值乘以n答案funinta[][n],int n{int i,j;fori=0;in;i++forj=0;j=i;j++a[j]=a[j]*n;}81第81题请编写函数fun,其功能使将两个两位正整数a b合并形成一种整数放在C中合并的方式使将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上答案void funinta,int b,long*c{*c=b/10*1000+a/10*100+b%10*10+a%10;}82:第82题请编写一种函数fun,它的功能使计算n门课程的平均分,计算成果作为国数值返回答案float funfloat*a,int n{float ave=
0.0;int i;fori=0;in;i++ave+=a;ave/=n;return ave;}83:.第83题假定输入的字符串中只包括字母和*号请编写国数fun,它的功能使将字符串尾部的*号所有删除,前面和中间的*号不删除..答案void funchar*a{int i=0;char*p,*q;P=q=a;while*pp++p一;while*p==卅p-;while q=p{a=*q;i++q++;}a=\0;}84:第84题请编写函数fun,其功能是将两个两位数的正整数a b合并形成一种整数放在c中,合并的方式是将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上..答案void funinta,int b,long*c{c=b/10*1000+a%10*100+b%10*10+a/10;}85:第85题n名学生的成绩已在主因数中放入一种带头节点的链表构造中,h指向链表的头节点请编写函数fun,它的功能是求出平均分,由函数值返回答案double funstrec*h{double aver=
0.0;whileh!=null{aver+=h-s;hy=h-next;}aver/=n;return aver;}86:第86题请编写函数fun,计算并输出给定10个数的方差答案double fundoublex
[10]{int i,j;double s=
0.0,sl=
0.0;fori=0;i10;i++sl+=x;sl/=10;forj=0;j10;j++s+=x[j]-s1*x[j]-s1;s/=10;s=pows,
0.5;return s;}87:第87题请编写函数fun,其功能是将两个两位数的正整数a b合并形成一种整数放在c中合并的方式是将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上答案void funinta,int b,long*c{*c=a/10*1000+a%10*10+b%10*100+b/10;}88:.第88题假定输入的字符串中只包括字母和*号请编写国数fun,它的功能是除了字符串前导的*号之外,招串中其他*号所有删除在编写函数亚时,不得使用c语言提供的字符串函数答案void funchar*a{int i=0;char*p=a;while*p*p=={a=*p;i++p++;}while*p{if*p!={a=*p;i++;}p++;}a=RO,;}89:第89题学生的记录是由学号和成绩构成,n名学生的数据已在主函数中放入构造体数组S中,请编写国数fun,它的功能是把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回..答案double funstrec*a,strec*b,int*n{double aver=
0.0;int i,j=0;fori=0;in;i++aver+=a.s;aver/=n;fori=0;in;i++ifa.s=aver}{*b+j=a;j++;}*n=j;return aver;}90:第90题请编写函数fun,其功能是计算并输出下列多项式值:sn=1-1/2+1/3-1/4+-+l/2n-l l/2n.答案sn=1-1/2+1/3-1/4+・・・+1/2n-1l/2n.double funint n{int i;double sn=
0.0;fori=l;i=n;i++sn+=l.0/2*i-l-l.0/2*i;return sn;}91第91题请编写函数fun,其功能是将两个两位数的正整数a b合并形成一种整数放在C中合并的方式是将a数的十位和个位数依次放在c的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上..答案void funinta,intb,long*c{*c=a%10*1000+b%10*100+a/10*10+b/10;92:第92题请编写函数fun,它的功能是计算s=lnl+ln2+ln3+...+lnm
0.5,s作为函数值返回答案double funintm int I;double s=
0.0,log doublex;for i=l;i=m;i++s=s+logi;s=sqrts;return s;.93:第93题请编写函数fun,它的功能是计算下列级数和,和值由/数值返回S=l+x+x2/2!+x3/3!+…xn/n!答案double fundoublex,int n{double s=l.0,p=l.0;int I,j,t;fori=l;i=n;i++t=l;forj=l;j=i;j++t=t*j;P=P*x;s=s+p/t;return s;94:第94题规定输入字符串中只包括字母和*号清编写函数fun,它的功能是揩函数字符串中的前导*号所有删除,中间和尾部的*号不删除答案void funchar*aint i=0;char*p=a;while*p*p==Wp++;.while*pa[i]=*p;i++;.p++;.a[i]=,\T;95:第95题假定输入的字符串中只包括字田和*号请编写区1数fun,它的功能是使字符串的前导*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做字符串中间和尾部的*号不删除答案void funchar*a,intninti=0,k=0;char*t=a;while*t==,*k++t++;,t=a;if knt=a+k-n;while*t|i++t++;.a[i]=AO,;96:第96题请编写函数fun,其功能使计算并输出给定数组长度为9中每相邻两个元素之平均值的平方根之和答案double fundoublex
[9]double sum=
0.0;int I,j=l;for i=0;i9;i++ifj=8sum+=sqrt x[i]+x[i+1]/
2.0;j++;.return sum;97:第97题请编写豳数fun,其功能是计算并输出下列多项式值s=l+l/1+2+1/1+2+3+・・1/1+2+3…+50答案double funintn|int I,j;double sum=
0.0,t;fori=l;i=n;i++t=
0.0;forj=l;j=I;j++t+=j;sum+=l.0/t;return sum;98:第98题请编写函数fun,它的功能是计算并输出n包括n以内能被5或9整除的所有自然数的倒数之和答案double funintn|int I;double sum=
0.0;fori=l;i=n;i++ifi%5==0||i%9==0sum+=l.0/1;return sum;99:第99题请编写函数fun,其功能是计算并输出3到n之间所有素数的平方根之和答案double funintnintm,k,I;double s=
0.0;for m=3;m=n;m++k=sqrtm;for i=2;i=k;i++ifm%i==0break;ifi=k+l s+=sqrtm;return s;.100:第100题请编写函数fun,其功能是计算并输出s=l+1+
20.5+1+
20.5+
30.5+•••+1+
20.5+
30.5+-+n
0.5答案double funintnint I;double=
1.0,p=l.0;for i=2;i=n;i++p+=powI,
0.5;s+=p;return s;首先是加强上机操作练习同样的一道题,在试卷上你会做,但在计算机上就不一定了这是由于你的上机操作较少,导致环境不熟悉,处理实际错误能力比较差我推荐你到网上下载一份模拟盘,通过它你可以模拟考试环境,届时候就不会手忙脚乱了另一方面就是要注意规则二级C的上机题是由计算机评分的,于是就有诸多地方值得我们注意对于改错此类题,一般有2-3处错误不等,均在以“/*******found********/”为标志的下方,改动的地方也不大,此处切忌打破原程序构造,尤其注意的是不要乱加空行由于计算机在评分时是寻找到指定行数后进行对比,倘若你在程序中任意加空行,计算机就会对不上号,自然也无法得分了相对于改错题来说,编程题灵活性比较强,因此要将题目读仔细,严禁使用的函数一定不要用,切勿简朴省事完毕题目后记得存盘头文献在C语言家族程序中,头文献被大量使用一般而言,每个C++/C程序一般由头文献headerfiles和定义文献definition files构成头文献作为一种包括功能函数、数据接口申明的载体文献,用于保留程序的申明declaration,而定义文献用于保留程序的实现implementation0C++/C程序的头文献以h”为后缀如下是假设名称为graphics,h的头文献老式C++Winclude assert.h〃设定插入点ttinclude ctype.h〃字符处理^include errno.h〃定义错误码^include float.h〃浮点数处理^include fstream.h〃文献输入/输出Winclude iomanip.h〃参数化输入/输出^include iostream.h〃数据流输入/输出6:第6题请编写一种函数void funchar a[],chart],intn,其功能是:删除以各字符串中指定下标的字符其中,a指向原字符串,删除后的字符串寄存在b所指的数组中,n中寄存指定的下标..答案void funchara[],charb[],intn|int I,j=0;for i=0;iLEN;i++if i!=n.|b[j]=a[i];j++b[j]=,\T;7:第7题请编写一种函数int funint*s,int t,int*k,用来求除数组的最大元素在数组中的下标并寄存在k所指的储存单元中答案void funint*s,intt,int*kint I,max;max=s
0.0;2x0=xl,把xl的值赋各x0;3xl=cos x0,求出一种新的xl;4若x0-xl的绝对值不不小于
0.000001,则执行环节5,否则执行环节2;⑸所求xl就是方程cos x-x=0的一种实根,作为函数值返回程序将输出root=
0.739085o.答案float funfloat xl=
0.0,xO;dox0=xl;xl=cosx0;whilefabsxO-xlle-6;return xl;写翦第11题下列程序定义了nxn的二维数组,并在主函数中自动赋值请编funinta该置成数函数的功能是使数组左下半三角元素中的值所有答案int funinta[J[N]|int I,j;fori=0;iN;i++forj=0;j=I;j++a[i][j]=0;12:第12题下列程序定义了nxn的二维数组,并在主函数中赋值请编写函数fun,函数的功能使求出数组周围元素的平均值并作为函数值返回给主国数中的s..答案double funintw[][N]{int I,j,k=0;doubles=
0.0;forj=0;jN;j++s+=w
[0][j];k++;forj=0;jN;j++s+=w[N-l][j];k++;fori=l;i=N-2;i++s+=w[i]
[0];k++;for i=l;i=N-2;i++s+=w[i][N-l];k++;return s/=k;11oo::13:第13题请编写一种函I数void funinttt[m][n],int pp[n],tt指向一种m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入PP所指定一维数组中二维数组中的数已在主函数中赋予答案void funinttt[M][N],int pp[N]intI,j,min;forj=0;jN;j++|min=tt
[0][j];for i=0;i M;i++{if[j]min min=tt[i][j];pp[j]=min;14:第14题请别写函数fun,函数的功能使求出二维数组周围元素之和,作为函数值返回二维数组中的值在主函数中赋予答案int funinta[M][N]intI,j,s=0;forj=0;jN;j++s+=a
[0][j];s+=a[M-l][j];for i=l;i=M-2;i++s+=a[i]
[0];s+=a[i][N-1];return s;15:第15题请编写一种函I数unsigned fununsigned w,w使一种不小于10的无符号整数,若w使nn2位的整数,则函数求出w后n-l位的数作为函数值返回答案:unsigned fununsignedw unsignedt,s=0,sl=l,p=0;t=w;whilet10|ift/10p=t%10;s=s+p*slsl=sl*10;t=t/10;return s;.16:第16题请编写一种函I数float fundouble h,函数的功能使对变量h中的值保留2位小树,并对第三位进行四舍五入规定h中的值位正数答案:float funfloath longt;float s;h=h*1000;t=h+5/10;s=floatt/
100.0;return s;.17:第17题请编写一种函I数funchar*s,该网数的功能使把字符串中的内容拟置答案:void funchar*s charch;intI,m,n;i=0;m=n=strlens-l;whilei n+l/2ch=s[i];s[i]=s[m];s[m]=ch;i++m——18第18题编写程序,实现矩阵3行3列的转置即行列互换答案void funintarray
[3]
[3].intI,j,temp;for i=0;i3;i++forj=0;jI,j++temp=arrayEi][j];array[i][j]=array[j][i];array[j][i]=temp;19:第19题编写函数fun,该函数的功能是从字符中删除指定的字符,同一字母的大、小写按不一样字符处理答案void funchars[],int cinti=0;char*p;P=s;while*p if*p!=c.s[i]=*p;i++;.p++;.s[i]=,\0;。
个人认证
优秀文档
获得点赞 0