计算机二级C语言上机题库100套(最新版) 下载本文

}

第五十一套 1 程序填空

给定程序中,函数fun的功能是:计算下式s=1/22+3/42+5/62…+(2×n-1)/(2×n)2直到︱(2×

2

n-1)/(2×n)︱《10-3并把计算结果作为函数值返回。例如,若形参e的值le-3 ,函数值的返回值为2.735678。 第1处i=0; 第2处i++;

第3处x=(2.0*i-1) / ((2.0*i)* (2.0*i));

2 程序修改

给定程序MODI1.C中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。 /**found**/

void fun(char*s, char *t) /**found**/ t[2*d]=’\\0’; 3 程序设计

函数fun的功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。

viod fun(char*s, chat t[]) {

int i,j=0;

for(i=1;i

第五十二套 1 程序填空

给定程序中,函数fun的功能是:在3×4的矩阵中找出在行上最大,列上最小的那个元素,若没有符合条件的元素则输出相应信息。 第1处max=a[i][j];c=j;} 第2处find=0; 第3处i++; 2 程序修改

给定程序MODI1.C中函数fun的功能是:根据整形形参m的值:计算如下公式的值?……例如:若m中的值为5,则应输出:0.536389。 /**found**/

for(i=2;i<=m;i++) /**found**/ y-=1.0/(i*i); 3 程序设计

m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。 int fun(int score[],int m,int below[])

16

{

float av=0.0; int i,j=0;

for(i=0;i

for(i=0;iscore[i])

below[j++]=score[i]; return j; }

第五十三套 1 程序填空

给定程序中,函数fun的功能是将形参指针所指结构体数组中的三个元素按num成员进行升序排列。 第1处void fun(PERSON*std) 第2处PERSON temp; 第3处fun(std); 2 程序修改

给定程序MODI1.C中函数fun的功能是:将m(1≦m≦10)个字符串连接起来,组成一个新串,放入pt所指存储区中。 /**found**/ int k,q,i; /**found**/ pt[i]=str[k][i]; 3 程序设计

程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[ ][N]),函数的功能是:使数组左下三角元素中的值全部置成0。 int fun(int a[][N]) {

int i,j;

for(i=0;i

第五十四套 1 程序填空

给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数放在形参Y所指数组中,在主函数中输出。 第1处av=0;

第2处av=av+x[i]/N; 第3处y[j++]=x[i]; 2 程序修改

给定程序MODI1.C中函数fun的功能是:根据整形形参m,计算如下公式的值。 /**found**/

double fun(int m) /**found**/

for(i=100;i<=m;i+=100)

3 程序设计

已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a 结构体数组中,轻便鞋函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)

fun(STU a[],STU *s) {

int i,min=a[0],s,j=0; for(i=1;ia[i].s){ j=i;

min=a[i].s; }

*s=a[j]; }

第五十五套 1程序填空

给定程序中,函数fun的功能是:判断形参s所指字符串是否是“回去”(Palindrome)若是,函数返回值为1;不是,函数返回值为0,“回文”是正读和反读都是一样的字母串(不区分大小写字母)。 第1处1p=s;

第2处1p++;rp--;}

第3处if(1p

给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和。

2/1+3/2+5/3+8/5+13/8+21/13+……和值通过函数值返回main函数。例如n=5,则应输出:8.391667。 /**found**/

double fun(int n) /**found**/ c=a;a+=b;b=c; 3程序设计

请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。19,23,29,31,37,函数fun中给出的语句仅供参考。 void fun(int m,int k,int xx[]) {

int i,j=1,t=m+1; while(j<=k) {

for(i=2;i

第五十六套 1 程序填空

17

给定程序的功能是:从键盘输入若干行文本(每行不得超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。

第1处void WriteText(FILE*fw) 第2处fputs(str,fw);fputs(“\\n”,fw); 第3处printf(“%s”,str); 2 程序修改

给定程序MODI1.C中函数fun的功能是:从低位开始取出长整形变量s中奇数位上的数,依次构成一个新数t中。高位仍在高位,低位仍在低位。 /**found**/

void fun(long s,long*t) /**found**/ s1=s1*10; 3 程序设计

函数fun的功能是:将两个两位数的正整数a 、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c 数的十位和百位上,b数的十位和个位数依次放在c数的千位和十位上。 void fun(int a,int b,long*c) {

*c=(b/10)*1000+(a)*100+(b)*10+(a/10); }

第五十七套 1 程序填空

给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。 第1处n++;flag=1;} 第2处if(*s= =’ ’)flag=0; 第3处s++; 2 程序修改

给定程序MODI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver 所指的存储单元中。

/**found**/ t+=s[k]; /**found**/ *aver=ave; 3程序设计

请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元。 int fun(int *s,int t,int *k) {

int i,pos=0,max=*s; for(i=1;i

if(max<*(s+i)){ max=*(s+i); pos=i;

}}

*k=pos; }

第五十八套 1 程序填空 给定程序中,函数fun的功能是计算下式s=3/22- 5/42 +7/62-…+(-1)n-1(2×n-1)/(2×n)2直到︱(2×n-1)/(2×n2)︱≤10-3并把计算结果作为函数值返回,例如:若形参e的值为-le-3,函数的返回值为0.551690。 第1处x=3.0/4; 第2处while(x>e)

第3处x=(2*i+1)/(t*t); 2 程序修改

给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和。2/1,3/2,5/2,8/5,13/8,31/13…和值通过函数值返回到main函数。 /**found**/

double fun(int n) /**found**/

s=s+(double)a/b; 3 程序设计

请编写函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回调有函数。 fun(int a[][M]) {

int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;j

第五十九套 1 程序填空

函数fun的功能是:把形参a所指数组中的的最小值放在元素a[0],接着把形参a所指数组中的最大值放a[1]元素中;再把a所指数组中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。 第1处max=min=a[i]; 第2处if(maxa[j]) 2 程序修改

给定程序MODI1.C中函数fun的功能是:用递归算法计算列中第n项的值。从第一项起,斐波拉契数列为:1、1、2、3、5、8、13、21、 …… /**found**/ switch(g) /**found**/

case 1:return 1; case 2:return 1; 3 程序设计

某学生的记录由学号、8门课程和平均分组成,学号和8门课程成绩已在主函数中给出。请编写函数fun,它的功

18

能是;求出该学生的平均分放在记录的ave成员中。

void fun(STREC *a) { int i;

for(i=0;i

a->ave=a->ave+a->s[i]; a->ave/=N }

第六十套 1 程序填空

给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素来。 第1处 void fun (int) (*t)[N] 第2处 t[i][j]=t[i][j]+t[j][i]; 第3处 t[j][i]=0; 2程序修改

给定程序MODI1.C中函数fun的功能是:计算函数值,F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)其中x和y的值不等,z和y的值不等。例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50。 /**found**/

#define FU(m,n) ((m)/(n))

/**found**/

return (value); }

3程序设计

规定输入的字符串中只包含字母和*号。请编写函数fun ,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。 void fun (char *a) {

int j=0; char *p=a;

while (*p=='*')p++; while (*p){ a[j++]=*p; p++; }

a[j]=0; }

第六十一套 1 程序填空

人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指出的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。

第1处if (std[i].year==year) 第2处 k[n++]=std[i]; 第3处 return (n); 2 程序修改

给定程序MODI1.C中函数fun的功能是:读入一个整

数k(2≤k≤10000)打印它的所有质因子(即所有为素数的因子)。 /**found**/

IsPrime (int n) /**found**/ if (!(n%i)) 3 程序设计

已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写给函数fun,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分),已给出函数的首部,请完成函数。

fun(STU a[],STU *s) {

int i, max = a[0]. s, j=0; for (i=1; i

max =a[i].s; }

*s=a[j]; } 第六十二套 1程序填空

给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如:若N=3有下列矩阵: 1 2 3 4 5 6 7 8 9 交换后: 3 2 1 4 5 6

9 8 7

第1处 void fun (int t [] [N], int n) 第2处 for (i=0; i

由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1.折半查找的基本算法是:每次查找前先确

19

定数组中待查的范围:low和high(low﹤high),然后把m的值大于中间位置元素中的值,则下一次的查找范围落在中间位置之前的元素中。直到low﹥high,查找结束。

/**found**/

fun (int a [], int m) /**found**/

else if (m>a [mid]) 3 程序设计

假定输入的字符串中只包含字母和*号,请编写函数fun,它的的功能是:除了尾部的*号之外,将字符串中其他*全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 void fun (char *a,char *p) {

char *q=a; int j=0;

while (*q&&q

while (*p) a [j++] = *p++; a [j]=0; } 第六十三套 1 程序填空

给定程序中,函数fun的功能是;求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共M个字符串,且串长﹤N。 第1处 for (i=0;i

给定程序MODI1.C中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。

/**found**/

if (( ' a ' <=tt[i])&&(tt[i] <= ' z ' ))

/**found**/ tt[ i ]- =32; 3程序设计

请编写函数fun,函数的功能是:将所有大于1小于整数 m的非素数存入xx所知数组中,非素数的个数通过k传回。

void fun (int m, int *k, int xx[]) {

int i , cnt=0;

for (i=0; i

if (isP(i)) xx [cnt++]=i; *k=cnt; } 第六十四套 1 程序填空

给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。Ss所指字符串数组中共有M个字符,且串长﹤N。 第1处 for (j=i+1; j

第3处 strcpy (ss[k], t); 2 程序修改

给定程序MODI1.C中函数fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同:若相同,什么也不做,则将其插在串的最后。 2 /**found**/ if (*str! =ch)

/**found**/ str [1]=0; 3 程序设计

请编写一个函数fun(chae*s),函数的功能是把s所指的字符串中的内容逆置。 fun (char *s) {

char b[N]; int i=0, j;

meset (b,0,N);

for (j=strlen(s)-1; j>=0; j--) b [i++]=s[j]; strcpy (s,b); } 第六十五套

1程序填空

给定程序中,函数fun的功能是:计算下式前5项的和作为函数值返回。S=1×3/22-3×5/42+5×7/62-……+(-1)n-1(2×n-1)×(2×n+1)/(2×n)2例如,当形参n的值为10时,函数返回:-0.204491。 第1处 k=1;

20

第2处 t=2*j;

第3处 k=k*(-1); 2 程序修改

给定程序MODI1.C中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0. /**found**/ K++;

/**found**/ if (m==k) 3 程序设计

请编写一个函授fun,它的功能是:找出一维整数组元素中最大的值和他所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x 是数组名,n是x中的数据个数,max存放在大值,index存放最大值所在元素的下标。 void fun (int a[], int n, int *max, int *d) { int i;

*max=a[0];*d=0; for (i=1; i

第六十六套 1程序填空

给定程序中,函数fun的功能是:在形参s所知字符串中的每个数字字符之后插入一个*号。

第1处 if (s[ i ]>=' 0' &&s [ i ]<=' 9') 第2处 while (s[i+1+n]! =0)n++; 第3处 s[j+1]=s [j]; 2 程序修改

给定程序MODI1.C中函数fun的功能是:根据整形形参m=1,计算如下公式的值。

m=1+1/2*2+1/3*3+1/4*4…1/m*m

例如,若m中的值为5,则应输出1.463611 2 /**found**/

for (i =2 ; i<= m; i++)

/**found**/

y+=1. 0/ ( i* i) ; 3 程序设计

编写函数fun,函数的功能是:实现B=A+A’即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。

void fun ( int a [3] [3], int b [3] [3]) {

Int c [3] [3]; int i,j;

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