好文档 - 专业文书写作范文服务资料分享网站

全国计算机等级考试2级C语言上机题库 

天下 分享 时间: 加入收藏 我要投稿 点赞

?a?:3times letter ?s?:3times。 void fun(char *s)

{ int k[26]={0},n,i,max=0; char ch; while(*s)

{ if( isalpha(*s) ) {

/**********found**********/ ch=tolower(*s); n=ch-'a';

/**********found**********/ k[n]+= 1 ; } s++;

/**********found**********/ if(max

for(i=0; i<26;i++)

if (k[i]==max) printf(\ \\'%c\\' : %d times\\n\

47.2改错 函数fun功能是求S的值 例如,当为10时,函数值为:1.533852。 /************found************/ float fun( int k ) { int n; float s, w, p, q; n = 1; s = 1.0;

while ( n <= k ) { w = 2.0 * n; p = w - 1.0; q = w + 1.0;

s = s * w *w/p/q;

n++; }

/************found************/ return s;}

47.3程序 函数功能:计算并输出下列级数和 例如:当n=10时,函数值为:0.909091。 double fun( int n ) { double s = 0.0 ; int i ;

for(i = 1 ; i <= n ; i++) s = s + 1.0 / (i * (i + 1)) ; return s ;} 第四十八套:

48.1填空 函数功能:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数的值返回。例如,形参s所指的字符串为:abs5def126jkm8,程序执行后的输出结果为22。 int fun(char *s)

{ int sum=0; while(*s) {

/**********found**********/

if( isdigit(*s) ) sum+= *s- 48 ;

/**********found**********/ s++; }

/**********found**********/ return sum ;}

48.2改错 函数功能:计算小于形参最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。 int fun( int k )

{ int m=0, mc=0, j ;

while ((k >= 2) && (mc < 10)) {

/************found************/ if ((k == 0) || (k == 0)) { m = m+ k; mc++; } k--; } return m;

/************found************/}

48.3程序 功能:求小于形参n同时能被3与7整除的所有自然数之和的平方根,作为函数值返回。例如若n为1000时,程序输出应为:s=153.909064。 double fun( int n) { double sum=0.0;

int i;

for(i=21; i<=n; i++)

if((i % 3==0) && (i % 7==0)) sum+=i; return sqrt(sum) ;} 第四十九套:

49.1填空 功能:将形参s所指字符串中的所有ASCII码值小于97的字符存入形参t所指字符组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。 例如,形参s所指的字符串为:Abc@1x56*,程序执行后的t所指的字符数组的字符串应为:A@156*。 int fun(char *s, char *t) { int n=0; while(*s)

{ if(*s < 97) {

/**********found**********/ *(t+n)= *s ; n++; } /**********found**********/ s++ ; }

*(t+n)=0;

/**********found**********/

return n ;}

49.2改错 功能:由形参给定n个实数,输出平均值,并统计在平均值以上的(平均值)实数个数。 例如n=8时,输入:193.199,195.673,195.757,196.757,196.051,196.092,196.596,196.579,196.763 所得平均值为:195.838745,在平均值以上的实数个数应为:5。 int fun(float x[], int n)

{

/************found************/ int j, c=0; float xa=0.0; for (j=0; j

/************found************/ if (x[j] >= xa) c++;

return c;}

49.3程序 函数功能:根据以下公式求p的值,结果由函数数值带回。M与n为两个正整数且要求m>n, 例如:m=12,n=8时,运行结果为495.000000。 long jc(int m) { long s=1; int i ;

for(i=1;i<=m;i++) s=s*i ; return s;}

float fun(int m, int n) { float p;

p=1.0*jc(m)/jc(n)/jc(m-n) ;

return p;} 第五十套:

50.1填空 功能:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,N=3,有下列矩阵: 计算结果为 。 #define N 4

/**********found**********/ void fun(int (*t)[N]) { int i, j;

for(i=1; i

{ for(j=0; j

{/**********found**********/ t[i][j] =t[i][j]+t[j][i]; /**********found**********/

t[j][i]=0; } }} 50.2改错功能:计算函数 的值,其中x和y的值不等,z和y的值不等 例如当x的值为9、y的值为11、z的值为15时。函数值为-3.50。 /************found************/ #define FU(m,n) ((m)/(n)) float fun(float a,float b,float c) { float value;

value=FU(a+b,a-b)+FU(c+b,c-b); /************found************/ return (value);}

50.3 程序 功能:将字符串中的前导*号全部删除,中间和为的*号不删除。例如字符串中的内容:*******A*BC*DEF*G****,删除后字符串中的内容应当是A*BC*DEF*G****。 void fun( char *a ) { int j=0; char *p = a ; while(*p == '*') p++ ; while(*p) { a[j++] = *p ; p++; } a[j]=0 ;} 51.1:填空

Fun:计算出形参s所指字符串中包含的单词个数,作为函数值返回,为便于统计,规定各单词之间用空格隔开。如形参s所指的字符串为:This is a C language program,函数的返回值为6 。

int fun(char *s) { int n=0, flag=0; while(*s!='\\0')

{ if(*s!=' ' && flag==0) { n++ ; flag=1;} if (*s==' ') flag= 0 ; s++ ;}

return n;} 51.2:改错

Fun:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。如输入8名学生的成绩:80.5 60 72 90.5 98 51.5 88 64 ,则低于平均分的学生人数为:4(平均分为:75.5625)。 #define N 20

int fun ( float *s, int n, float *aver ) { float ave, t = 0.0 ; int count = 0, k, i ;

for ( k = 0 ; k < n ; k++ )

/**************found**************/ t += s[k] ; ave = t / n ;

for ( i = 0 ; i < n ; i++ ) if ( s[ i ] < ave ) count++ ;

/**************found**************/

*aver = ave ; return count ;} 51.3:设计

Fun:功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。如输入如下整数:876 675 896 101 301 401 980 431 451 777 ,则输出结果为6,980 int fun(int *s, int t, int *k) {int i, pos = 0, max = *s ;

for(i = 1 ; i < t ; i++) {

if(max < *(s + i)) { max = *(s + i) ; pos = i ;}} *k = pos ;} 52.1:填空 Fun:将N×N矩阵中元素的值按列右移一个位置,右边被移出矩阵的元素绕回左边。如N=3,有下列矩阵: 计算结果为: 1 2 3 3 1 2 4 5 6 6 4 5 7 8 9 9 7 8 #define N 4 void fun(int (*t)[N]) { int i, j, x;

/**********found**********/ for(i=0; i

{

/**********found**********/ x=t[i][N-1] ; for(j=N-1; j>=1; j--) t[i][j]=t[i][j-1];

/**********found**********/ t[i][0]=x;}} 52.2:改错

Fun:计算并输出下列级数的前N项之和 ,直到 大于q为止,q的值通过形参传入。 ,如q的值为50.0,则函数值为:49.394948。 double fun( double q ) { int n; double s,t; n = 2; s = 2.0; while (s<=q) {t=s;

/************found************/ s=s+(n+1.)/n; n++;}

printf(\

/************found************/ return t;} 52.3:设计

Fun:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)定义为:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2),如当t=1000时,函数值为1597。 #include int fun( int t)

{ int f0 = 0, f1 = 1, f ;

全国计算机等级考试2级C语言上机题库 

?a?:3timesletter?s?:3times。voidfun(char*s){intk[26]={0},n,i,max=0;charch;while(*s){if(isalpha(*s)){/**********found**********/ch=tol
推荐度:
点击下载文档文档为doc格式
8gmq84dbzq667gj1z1sv
领取福利

微信扫码领取福利

微信扫码分享