1、计算机2级C语言上机题库整理版公式计算填空:0 n t*t改错:for(i = 0; stri; i+)if(substrk+1=0)根据以下公式求的值double s=1,t=1./3; int n=1; while(t=eps) s+=t; n+; t=t*n/(2.0*n+1); return (s*2.0);填空:1; -1 t改错:for(i=1; i=0 & k=6)计算并输出下列多项式的值:sn=1+1/1!+1/2!+1/3!+1/4!+1/n!double s=1long t=1;int i;for(i=1;i=n;i+)t=t*i;s+=1.0/t;return s;填空:
2、0 j- j改错:double f( double x) return s;计算:作为函数返回double s=0.0;int i;for(i=0;i=m;i+)s+=log(1.0*i);s=sqrt(s); return s;填空:i psj tp改错:double fun(int n) return sum;计算下列级数和,和值由函数值返回。double s=1.0,y=x;int i;for(i=1;i= xa)根据以下公式求p的值,float p;p=1.0*jc(m)/jc(n)/jc(m-n);return p;填空:n%10 break break改错:if(t= =0) *z
3、ero=count;计算并输出下列多项式的值: double s=0, t=1; int i ; for ( i=1; i1&n=100) for ( i=1 ; i=n; i+)sum +=1. 0/(2*i - 1)- 1. 0/(2* i);return sum;填空:1; 1 i改错:k=i; c=k%10;计算并输出给定10个数的方差。int i;double avg =0. 0, sum =0. 0, abs =0. 0, fc;for (i=0; i10; i +)sum +=x i ;avg =sum/10;for (i=0; i10; i+)abs +=(xi- avg)*(
4、x i -avg );fc =sqrt (abs/10);return fc ;填空:0 0 c改错:double sum = 0.0; sum /= c;根据以下分式计算s,int i, j, t;float s=0;for(i=1; i=n;i+)t=0;for (j=1; j=i; j+)t+=j;s=s+1. 0/t; return s;填空:*s 2、1 3、 kn改错:float fun( int k ) return s;计算并输出下列级数和:double s=0.0;int i;for(i=1;i=n;i+)s=s+1.0/(i*(i+1);rerurn s;填空: a a b
5、改错:c=c+32; c=c+5;计算并输出int i;double fac=1.0;double sum=1.0;for(i=2;i=n;i+)fac+=sqrt(i);sum+=fac; return sum;填空:x n fabs(t)改错:for(i=1; i=y; i+) t=t%1000;计算并输出当x0.97时下列多项式的值,直到Sn-Sn-1=0.000001)xn=xn*x*(0.5-n+1)/n;n+=1;sn+=xn;return(sn);填空:i+ m m改错:while(2=high)&(n0.000001);return x1;a+b组合成c填空:struct st
6、udent * a-scorei a改错:char *fun(char (*sq)M) return sp;将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。 2415*c = (b%10)*1000+(a/10)*100+(b/10)*10+a%10;填空:fp fclose(fp) fname改错:for ( i=j+1; in ; i+ ) p=i将a数的十位和个位数依次放在c数的个位和百位上, b数的十位和个位数依次放在c数的十位和千位上。 2514*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);填空
7、:r fs ft改错:if (d%2= =0) s /= 10;将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。 5142*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);填空:k N-1 temp改错:void fun(int aM, int m) ajk = (k+1)*(j+1) ;将a中的十位和个位依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。 5241*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);填空:*fw str str改错:v
8、oid fun (long s, long *t) sl = sl*10;将a数的十位和个位数依次放在c 数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。 1524*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);填空:0; x t+改错:int i,sl; ti = ssl-i-1;将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位依次放在变量c的千位和十位上。 1425*c=(b/10)*1000+(a/10)*100+(b%10)*10+(a%10);填空:STYPE FILE fp改错:for(i = 0 ; i p)
9、学生的记录由学号和成绩组成,把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。int i,j = 0 ; for(i = 0 ; i = l & ai.s = h) bj+ = ai ; return j ;填空:struct student a.name a.scorei改错:if(p=n) return -1; ai=ai+1;学生的记录由学号和成绩组成,把分数最低的学生数据放在b所指的数组中int i, j = 0, min=a0.s ; for(i = 0 ; i ai.s) j = 0 ; bj+ = ai ; min = ai.s ; else if(
10、min = ai.s) bj+ = ai ; return j ;填空:-sno -name &t改错:double fun(double a, double x0) if( fabs(x1-x0)0.00001 )学生的记录由学号和成绩组成,把高于等于平均分的学生数据放在b所指的数组中。double t=0 ; int i ; *n = 0 ; for(i = 0 ; i N ; i+) t = t + ai.s ; t = t / N ; for(i = 0 ; i t) b(*n)+ = ai ; return t ;填空:n/2 i an-i-1改错:n=*p-0; n=n*8+*p-
11、0;学生的记录由学号和成绩组成,函数返回指定学号的学生数据,指定的学生号在主函数中输入,若没有找到指定学号,在结构体变量中给学号置空串STREC c;Int i;c.num0=0;c.s=-1;for(i=0;iN;i+)if(strcmp(ai.num,b)=0)strcpy(c.num,ai.num);c.s=ai.s;break;return c;填空:1 i ap+i改错:float k; if(*a*c)学生的记录由学号和成绩组成,把分数最高的学生数据放在b所指的数组中,分数最高的学生可能不止一个int i,max=a0.s,n=0;for(i=1;iN;i+)if(maxai.s)
12、max=ai.s;for(i=0;iN;i+)if(max=ai.s)bn+=ai;return n;填空:0 xi/N j+改错:double fun ( int m ) for( i = 100; i = m; i += 100 )学生的记录由学号和学习成绩构成,找出成绩最低的学生记录,通过形参返回主函数int i,min=a0,s,j=0;for(i=1;iai.s)j=i;min=ai.s;*s=aj;填空:stdi.year stdi n改错:IsPrime ( int n ) if (!( n%i )学生的记录由学号和学习成绩构成,找出成绩最高的学生的记录,通过形参指针传回主函数i
13、nt i, max = a0. s, j=0;for (i=1; iN;i+)if (max 0)学生的记录由学号和学生成绩组成,按分数的高低排列学生的记录,高分在前。 STREC tmp; int i,j; for (i=0;iN; i+) for (j=0; jN;j+) if (a i. saj. s ) tmp =a i; a i=a j; aj =tmp;填空:*a 2 i+1改错:sum=0.0; if(i+1)%5=0)学生的记录由学号和成绩组成,低于平均分的学生人数通过形参n传回。平均分通过函数值返回。int i; double ave=0. 0; *n=0;for (i=0;
14、 iN; i+)ave =ave=a i . S;ave /=N;for( i=0 ; iN : i+)if (a i. ss; STREC *p; p=h-next; while(p) if(p-smax ) max=p-s; p=p-next; return max;填空:char chnext;double av=0.0;int n=o;while(p!=NULL)av=av+p-s;p=p-next;n+; av/=n; return av;填空: j 0 i+改错:for(i = 2 ; i = m ; i+) y -= 1.0/(i * i) ;m个人的成绩存放在score数组中,
15、将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。float av=0.0;int i,j=0;for(i=0;im;i+)av+=scorei;av/=m;for(i=0;iscorei)belowj+=scorei; return j;填空:ai aj aj改错:switch(g) case 1: return 1; case 2:return 1; 某学生的记录由学号、8门课程和平均分组成,求出该学生的平均分放在记录的ave成员中。int i;for(i=0;iave=a-ave+a-si;a-ave/=N填空:x p s改错:long k=1 num/=1
16、0计算n门课程的平均分,计算结果作为函数值返回。int i; float ave=0.0; for(i=0; in; i+) ave=ave+ai ; ave=ave/n; return ave;二维数组填空:FILE* fp ch改错:sj+=si; sj=0;.将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中。for(j = 0 ; j M ; j+) bn = sji ; n = i * M + j + 1; 填空:NODE * next r改错:if(i%2 | si%2=0) tj= 0;将M行N列的二维数组中的数据, 按列的顺序依次放到一维数组中for(i = 0
17、 ; i nn ; i+) for(j = 0 ; j next p-next 改错:p=h-next; p=p-next;将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中int i, j, k ; for(i = 0 ; i mm ; i+) for(j = 0 ; j nn ; j+) k = i * nn + j ; bk = sij ; *n = mm * nn ;填空:*std stdi.age max.name改错:void fun ( int *a, int *b ) t = *b; *b = *a ; *a = t;M行N列的二维数组,求出二维数组每列中最小元素,并依
18、次放入pp所指一维数组中。int i,j,min,k;for(i=0;iN;i+)min=tt0i;k=0;for(j=1;jttji)min=ttji; k=j;ppi=ttki;填空:STU scorei &std改错:if (k 0) else if ( k=0 )NN的二维数组,使数组左下三角元素中的值乘以n。int i, j; for(i = 0 ; i N ; i+) for(j = 0 ; j = i; j+) aij *= n ; 填空:*av i xj改错:float fun ( int n ) for (i=2; i=n; i+)NN的二维数组,使数组右上三角元素中的值乘以
19、m。int i,j;for(i=0;iN;i+)for(j=i;jN;j+)aij*=m;填空:*std PERSON std改错:int k, q, i ; pti = strki ;NN的二维数组,使数组左下三角元素中的值全部置成0。int i,j;for(i=0;iN;i+)for(j=0;j=i;j+)aij=0;填空:s/N j+ -1改错:#include upfst(char *p)NN的二维数组,求出数组周边元素的平均值int i, j, n=0; double sum=0; for ( i =0; iN; i+ ) sum+=w0i+wN-1i; n+=2; for ( i
20、=1; iN - 1; i+ ) sum +=wi0+wiN-1; n+=2; return sum/n;填空:xi/N j+ i+改错:numk=0; switch(*s)求出二维数组周边元素之和。int tot = 0, i, j ; for(i = 0 ; i N ; i+) tot += a0i ; tot += aM-1i ; for(i = 1 ; i M - 1 ; i+) tot += ai0 ; tot += aiN-1 ; return tot ;*号填空:a b.name scorei改错:sj+=si; sj= 0;将字符串中的前导*号全部移到字符串的尾部。while(
21、*p) *q=*p; p+;q+; 填空:N substr 0改错:fun(int x,int y, int z) return j;只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。char *p=a ; int j=0,len=0; while(*p) p+; len+; while(j0.001)除了字符串前导和尾部的*号之外,将串中其他*号全部删除。int j=0;char *q=a;while(*q&qh)aj+=*q+;while(*h&*p&hp)if(*h!=*)aj+=*h;h+;while(*p)aj+=*p+;aj=0;填空:N k ssi改错:int k = 0
22、; while( *p | *q )除了字符串前导*号之外,将串中其它*号全部删除。int i=0,k;while(ai!=*)i+;k=i;while(ai!=0)if(ai!=*)ak+=ai;i+;ak=0;填空:N i -1改错:a2=k/10; return i;将字符串尾部的*号全部删除,前面和中间的*号不删除。char *p=a;while(*p)p+;p-;while(*p=*)p-;p+;*p=0;填空:N tij tji改错:#define FU(m,n) (m)/(n) return (value);将字符串中的前导*号全部删除,中间和尾部的*号不删除。int j=0;
23、char *p=a; while (*p=*)p+; while (*p)aj+=*p; p+; aj=0;填空:tN i=0;i amid)除了尾部的*号之外,将字符串中其他*全部删除。 char *q=a; int j=0; while (*q&qp) if (*q!= *) aj+=*q; q+; while (*p) a j+ = *p+; a j=0;填空:ai%2 aj j改错:fun (int n) if(n= =1)使字符串中尾部的*号不得多于n个;若多于n个则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。char *p=a;int j=0;while(*p
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1