《计算机二级C语言编程题库(100题》由会员分享,可在线阅读,更多相关《计算机二级C语言编程题库(100题(39页珍藏版)》请在人人文库网上搜索。
1、2011,2012 年上机题 100 题库1: 第 1 题 m 个人的成绩存放在 score 数组中,请编写函数fun, 它的功能是:将低于平均分below 所指定的函数中。的人作为函数值返回,将低于平均分的分数放在 答案:int fun(int score,int m,int below) int i,k=0,aver=0;for(i=0;iVm;i+)aver+=scorei;aver/=m;for(i=0;iVm;i+)if(scorei V aver)belowk=scorei;k+;return k;2: 第 2 题请编写函数 fun ,它的功能是:求出 时北 7 和 11 整除的所。
2、有证书,并将他们放在 答案:1到100之内能北 7或者 11整除,但不能同 a 所指的数组中,通过 n 返回这些数的个数。void fun(int *a, int *n)int i,j=0;for(i=2;iV1000;i+)if (i%7=0 | i%11=0) & i%77!=0) aj+=i;*n=j;3: 第 3 题请编写函数 void fun(int x,int pp,int *n), 它的功能是:求出能整除 x 且不是偶数的 各整数,并按从小到大的顺序放在PP所指的数组中,这些除数的个数通过形参n返回。答案:void fun(int x, int pp , int *n) int 。
3、i=1,j=0;k=0,*t=pp;for(i=0;i V =x;i+) if(i%2!=0)tj=I;j+;for(i=0;i =i)if (k=0)xxg+=i;k-; else break;6: 第 6 题请编写一个函数 void fun(char a,char,int n), 其功能是:删除以各字符串中指定下 标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。答案:void fun(char a,char b, int n)int I,j=0;for (i=0;iVLEN;i+)if (i!=n)bj=ai;j+;b*j+= 0;7: 第 7 题请。
4、编写一个函数 int fun(int *s,int t,int *k), 用来求除数组的最大元素在数组中的下标 并存放在 k 所指的储存单元中。答案:void fun (int *s, int t, int *k) int I, max;max=s0;for(i=0;iVt;i+)if (simax)max=si;*k=I;8:第8题编写函数fun,功能是:根据以下攻势计算S,计算结果作为函数值返回;n通过形参传入。S=1 + 1(1+2)+1/(1+2+3)+ .+1/(1+2+3+4+ +n)答案:float fun (int n)int i;float s=1.0, t=1.0;for(。
5、i=2;i V =n;i+)t=t+i; s=s+1/t; return s; 9:第9题编写一个函数fun,它的功能是:根据以下公式求P的值,结果由函数值带回。M与 n 为两个正整数,且要求mn。 p=m!/n!(m-n)!答案:float fun(int m, int n)float p,t=1.0;int I;for (i=1;i V =m;i+)t=t*I;p=t;for(t=1.0,i=1;i V =n;i+)t=t*I;p=p/t;for(t=1.0,i=1;i V =m-n;i+)t=t*I;p=p/t;return p;10:第10题编写函数fun,它的功能是:利用以下的简单迭。
6、代方法求方程cos(x)-x=0的一个实根。迭代步骤如下:取x1初值为0.0 ;x0=x1,把x1的值赋各x0;(3) x1=cos(x0),求出一个新的 x1;(4) 若 x0-x1 的绝对值小于 0.000001,则执行步骤 (5),否则执行步骤 (2);所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出 root=0.739085 。答案:float fun()float x1=0.0,x0;dox0=x1;x1=cos(x0); while(fabs(x0-x1)1e-6);return x1;11:第11题下列程序定义了nx n的二维数组,并在主函数中自动赋。
7、值。请编写函数 fun(int0。a n),该函数的功能是:使数组左下半三角元素中的值全部置成 答案:int fun(int aN) int I,j;for(i=0;i 10)if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;return s;16:第16题请编写一个函数 float fun(double h),函数的功能使对变量h中的值保留2位小树,并对第三位进行四舍五入(规定 h 中的值位正数 )。答案:float fun(float h)long t;float s;h=h*1000;t=(h+5)/10;s=(float)t/100.0; return s。
8、;17:第17题请编写一个函数 fun (char *s),该函数的功能使把字符串中的内容拟置。 答案:void fun(char *s)char ch;int I,m,n;i=0;m=n=strlen(s)-1;while(i 1;i-)for(j=2;jV i;j+)if(i%j=0)break;elsecontinue;if(j=i)aak=i;k+;return k+;21:第21题请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余 按 ascii 码降序排列。答案:lim 的所有5 个字符void fun(char *s,int num) char t;int I,j;。
9、for(i=1;i V num-2;i+) for(j=i+1;j V num-1;j+) if(si V sj)t=si;si=sj;sj=t;22: 第 22题 n 名学生的成绩已在主函数中放入一个带头节点的链表结构中, 头节点。请编写函数 fun,它的功能是:找出学生的最高分,由函数值返回。 答案:h 指向链表的double fun(STREC *h)double max;STREC *q=h;max=h-s;doif(q-smax)max=q-s;q=q-next;while(q!=0);return max;23: 第 23 题请编写函数 fun, 主函数中输出yes,否则返回 答案。
10、:该函数的功能是:判断字符串是否为回文?若是则函数返回 1,0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。int fun(char *str) int I,n=0;fg=1; char *p=str; while (*p) n+;p+;for(i=0;i =m) p=s; elsep=t; return p;26:第26题请编写一个函数 fun,它的功能是:根据以下公式求x的值(要求满足精度0.0005, 即某项小于 0.0005 时停止迭代 ):x/2=1+1/3+1 X 2/X 5+1 X 23=eps) pi+=s;t=n/(2*n+1);s*=t;n+;pi=pi*2;re。
11、turn pi;27: 第 27 题请编写一个函数 有整数放在数组 a 中,通过 答案:fun,它的功能是:求除1到m之内洽m)能北7或11整除的所 n 返回这些数的个数。void fun(int m, int *a, int *n) int I,j=0; *n=0;for(i=1;i *max)*max=ai;*d=l;29:第29题请编写一个函数 fun,它的功能是:将 ss所指字符串中所有下标为奇数位置上 的字母转换为大写 (若该位置上不是字母,则不转换)。答案:void fun(char *ss)int l,n;n=strlen(ss);for(i=1;i=a& ssimax) max。
12、=aij; return max;同时 ascii 值也 所指的一个数组31:第31题请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、 为偶数的字符外, 其余的全都删除; 串中剩余字符所形成的一个新串放在 中。答案:void fun(char *s,char t)int I,j=0,n;n=strlen(s); for(i=0;I,n;i+) if(i%2=0&si%2=0) tj=si;j+;t*j+= 0;同时 ascii 值也 t 所指的32:第32题请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、 为奇数的字符之外, 其余的所有字符都删除, 串中剩余字符所形成的。
13、一个新串放在 一个数组中。答案:void fun(char *s,char t)int I,j=0,n;n=strlen(s);for(i=0;I,n;i+) if(i%2!=0&si%2!=0)tj=si;j+;t*j+= 0;33: 第 33 题假定输入的字符串中只包含字母和 * 号。请编写函数 fun ,它的功能是:使字符 串中尾部的 *号不得多于 n 个;若多于 n 个,则删除多于的 *号;若少于或等于 n 个,则什 么也不做,字符串中间和前面的 *号不删除。答案:void fun(char *a,int n) int i=0;k=0;char *p, *t;p=t=a;while (。
14、*t)t+;t-;while(*t= *) k+;t-;t+;if(kn)while (*p&p max) max=ai.s;for(i=0;i si;av/=N;p-ave=av;38:第38题请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。int fun(char *ss, char c) int n=0;答案:while (*ss)if(*ss=c) n+; ss+; return n;39:第39题请编写函数fun,该函数的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从 0到p(p小于等于n 1)的数组元素平移到数组的最后。答案:void 。
15、fun(int *w, int p, int n) int bN, i, j=0;for(i=0;imax) max=a.s;*s=a;51:第51题请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过 k 传回。答案:void fun(int m,int *k,int xx)int i,j;int t=0;for(i=2;iVm;i+)j=2;while(j V i)if(i%j=0)xxt=i;t+;break;j+;*k=t;52:第52题编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat), 即把p2所指的字符串连。
16、接到 p1所指的字符串后。答案:void fun(char p1,char p2)int i=0,n=0;char *p=p1,*q=p2;while (*p)p+;n+;i=n;while(*p)p1=*q;q+;i+;p1=0;-53:第53题请编写函数fun,该函数的功能是:实现b=a+a,即把矩阵a加上a的转置,存放在矩阵 b 中。计算结果在 main 函数中输出。答案:void fun(int a33,int b33) int i,j,at33;for(i=0;i =l&a.s=n) aj=t; return j;61:第61题第请编写函数fun,该函数的功能使:统计各年龄段的人数。。
17、N个年龄通过调用随机函数获得,并放在主函数的 age 数组中;要求函数把 0 至 9 岁年龄段的人数放在 d0 中,把10至19岁年龄段的人数放在 d1 中,把20至29岁的人数放在d2中,其余以此类 推,把100岁(含100以上年龄的人数都放在d10中。结果在主函数中输出。答案:void fun(int *a,int *b) int i,j;for(j=0;i =0&a =10&a =20&a =30&a =40&a =50&a =60&a =70&a =80&a =90&a 1e-6);return sum;77:第77题请编写一个函数 fun,其功能是:将两个两位数的正整数ab合并形成一个整数放在c中。合并方式是:将 a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在 c 数的十位和千位上。void fun(int a,int b,long *c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;答案:78:第78题请编写函数fun,其功能是:将s所指字符串中ascii值为偶数的字符删除,串中剩余字符形成一个新串放在 t 所指的数组中。答案:void fu。