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

内容发布更新时间 : 2024/12/23 0:07:17星期一 下面是文章的全部内容请认真阅读。

for (j=0; j<3; j++) {

c [i][j]=a [j] [i] ;

b [i] [j]=a[i] [j] +c [i] [j] ; } } 第六十七套 1 程序填空

给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中个位上数字之和为x(x为一正整数)的整数,然后输出:符合条件的整数个数作为函数值返回。

第1处 while (t<=999)

第2处 s1=t; s2=(t/10);s3=t/100; 第3处 if (s1+s2+s3==x) 2 程序修改

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

void fun (long s, long *t) /**found**/ while (s>0) 3程序设计

学生的记录由学号和学生成家组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是;按分数的高低排列学生的记录,高分在前。 int fun (STREC a[]) {

STREC tmp; int i,j;

for (i=0;i

第六十八套 1 程序填空

给定程序中,函数fun的功能是:将形参n中,个位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数。并作为函数值返回。 1 第1处 if (t%2==0) 第2处 x=10*x+t; 第3处 n=n/10; 2 程序修改

给定程序MODI1.C中函数fun的功能是:将长整数中每一位上为奇数的数依次取出,构成一个心数放在t中。高位仍在高位,低位仍在低位。 /**found**/ *t=0;

21

/**found**/ if (d%2!=0) 3 程序设计

编写一个函数fun,它的功能是:实现两个字符串的连续(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。

void fun (char p[], char p2[]) {

char *p=p1; while (*p)p++;

while (*p2)*p++=*p2++; *p=0; }

第六十九套 1 程序填空

甲乙丙丁四人同时开始放鞭炮,甲每隔t1秒放一个,乙每隔t2秒放一个,丙每隔t3秒放一个,丁每隔t4秒放一个,每人各放n次。函数fun的功能是通过形参提供的信息,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一声响声,第一声响是在第0秒。

1 第1处 max t =t1;

第2处 for (t=1; t< max t*(n-1); t++) 第3处 return count; 2 程序修改

给定程序MODI1.C中函数fun的功能是:根据输入的三个边长(整值型),判断能否构成三角形,还是等腰三角形。若能够构成等边三角形函数返回3,若能构成等腰三角形,函数返回2,若构成一般三角形,则函数返回1,若不能构成三角形,则函数返回0. /**found**/

int fun (int a,int b, int c)

/**found**/

else return 1; 3 程序设计

编写一个函数fun,它的功能是:计算并输出3到n之间(含3和n)所有素数平方根之和。 double fun (int n) {

int i, j=0; double s=0;

for (i=3;i<=n; i++){ for (j=2; j

s =s+sqrt ( i ); }

return s; } 第七十套 1 程序填空

给定程序中,函数fun的功能是:统计长整数n的各个

位数上出现数1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。 第1处 switch (n)

第2处 case 1: c1++; break; 第3处 case 2: c2++; break; 2 程序修改

给定程序modi1.c中函数fun函数功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数并把该整数中各位上最大的数字值作为函数值返回。 /**found**/ if (t==0) /**found**/ *zero =count; 3 程序设计

请编写一个函数fun,它的功能是:计算并输出下列多项式的值:

double fun (int n) {

double s=0, t=1; int i ;

for ( i=1; i<=n;i++) { t*=1; s+=1. 0/t; }

return s; }

第七十一套 1 程序填空

给定程序中,函数fun的功能是:反形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a[2]中,吧a组元素中的次小值放在a[3]中,依此类推。 第1处 void fun (int *a, int n) 第2处 for (i=0; i

给定程序modi1.c中函数fun函数功能是:按顺序给s所指数组中元素赋予从2开始的偶数,然后再按顺序对每五个元素求平均值,并将这些值依次存放在w所指的数组中,若s所指数组中元素个数不是5的倍数,多余部分忽略不计。 /**found**/ sum=0.0; /**found**/ if ((i+1)%5==0) 3 程序编写

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,低于平均分的学生人数通过形参n传回。平均分通过函数值返回。

double fun (STREC *a, STREC *b, int *n) {

int i;

double ave=0. 0;

22

*n=0;

for (i=0; i

for( i=0 ; i

return ave; }

第七十二套 1 程序填空

给定程序中,函数fun的功能是:统计所有<=n(n>2)的素数的个数,素数的个数作为函数值返回。 第1处 for ( j=2; j=i) 2 程序修改

数列中,第一项值为3,后一项都比前一项的增5;给定程序modi1.c中函数fun函数功能是:计算前n(4

/**found**/

if (sum %4==2) 3 程序设计

请编写一个函数fun,它的功能是:计算并输出下列多项式的值:……例如,在主函数中从键盘给n输入8后,输出为s=0.662872。注意:要求n的值大于1但不大于10.

double fun (int n) {

int i ;

double sum=0.0; if (n>1&&n<=100)

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

sum +=1. 0/(2*i - 1)- 1. 0/(2* i);

}

return sum; }

第七十三套

1 程序填空

给定程序中,函数fun的功能是:f(x)=1+x+x2/+…+xn/n!直到|x/n!|<10-6,若x=2.5,函数值为:12.182494。

第1处 f=1. 0+x ; 第2处 t*=x/n 第3处 f+=t ;

2 程序修改

给定程序MODI1.C中fun函数的功能是:计算n的5次方的值(规定n的值大于2 小于8),通过形参指针传向主函数,并计算该值的个位、十位、百位上的数字之和作为函数值返回。 /**found**/ d=1 ; s=0 ; /**found**/

d=d/10 ; 3 程序设计

请编写一个函数fun,它的功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。 double fun (double x[9]) {

int i ;

double avg=0. 0, sum=0. 0 ; for (i=0 ; i<8 ; i++){

avg =( x [i] + x [i+1])/2; sum += sqrt ( avg); }

rturn sum ; } 第七十四套 1 程序填空

给定程序中,函数fun的功能是:计算f(x)=1+x+x2/+…+xn/n!的前n项。若x=2.5,函数值为:12.182340。

第1 处 t=1 ;

第2 处 for (i=1 ;i

给定程序MODI1.C中fun函数的功能是:找出100至n(n不大于1000)之间三位数字相等的所有整数,把这些整数放在s所指数组中,个数作为函数值返回。

/**found**/ k= i ; /**found**/ c=k; 3 程序设计

请编写一个函数fun,它的功能是:计算并输出给定10个数的方差:例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0、1输出为s=11.730729.

double fun (double x [10]) {

Int i;

double avg =0. 0, sum =0. 0, abs =0. 0, fc; for (i=0; i<10; i ++) sum +=x[ i ]; avg =sum/10;

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

abs +=(x[i]- avg)*(x [i ] -avg ); fc =sqrt (abs/10);

23

return fc ; } 第七十五套 1 程序填空

给定程序中已经建立一个带有头结点的单项链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。

第1处 t=t- >next;

第2处 printf (\第3处 free (t); 2 程序修改

给定程序MODI1.C中fun函数的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。 /**found**/ fun (char *a ) /**found**/

printf ( \3 程序设计

编写一个函数fun,它的功能是:比较两个字符串的长度(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

char *fun (char *s, char *t) {

int i ;

char *p =s ,*q=t;

for (i=0; *p&&*q ; i++){ p++ ; q++; }

if (*p==0&&*q==0) return s;

if (*p) return s; else return t; }

第七十六套 1 程序填空

在给定程序中,函数fun的功能是在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。 第1处for (i=0; s[ i ]!='\\0' ;i++) 第2处 n=0;

第3处 s[j+1] =c ; 2 程序修改

在主函数中键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。给定程序MODI1.C中函数fun的功能是:计算数组元素中值为正数的平均值(不包括零)

/**found**/

double sum =0. 0; /**found**/ sum/=c; 3 程序设计

编写程序fun,它的功能是:根据以下分工计算s,计算结果作为函数值返回:n通过形参传入。 float fun (int n)

{

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; }

第七十七套 1 程序填空

给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。如输入一个数:27638496,新的数为729 第1处 { t=*n ; 第2处 if (t %2!=0) 第3处 *n=x ; 2 程序修改

给定程序modi1.c中函数fun函数功能是:计算n!。例如,给n输入5,则输出120.000000。 /**found**/ if (n==0) /**found**/ result *=n--; 3 程序设计

请编写一个函数fun,它的功能是:将一个数字字符转换为一个整数(不得调用C语言提供的将字符转换为整数的函数)。例如,若输入字符串“-1234”,则函数将它转换为整数值-1234. long fun (char *p) {

int i, len , t; long x=0;

len =strlen (p); if (p[0]== ' - ')

{ t= - 1; len--;p++;} else t=1; While (*p)

x =x*10 - 48 +(*p++); return x*t; }

第七十八套 1 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到的文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容分并把下划线删除,使得程序得出正确的结果。

24

注意:源程序存放在考生文件夹下的BLANK1.C中。

第1处 FILE * fp;

第2处 while (!feof (fp)) {

第3处 putchar (ch) ; ch= fgetc (fp); } 2 程序修改

给点那个程序MODI1.C中函数fun的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。 /**found**/

s [j++]=s [ i ]; /**found**/

s [ j ]= ' \\ 0 ' ; 3 程序设计题

请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 void fun (char s[] [N] , char *b) {

int i, j, n=0;

for (i=0; i

/*请填写其相应语句完成其功能*/ {

for ( j=0 ; j

b [n] = ' \\0 ' ; }

第七十九套 1 程序填空

给定程序中,函数fun的功能是将带头结点的单项链表结点数据域中的数据从小到大排序,即若原链表节点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确结果。

第1处 p = h - >next ; 第2处 q= p - > next;

第3处 if (p - > data >=q - >data)) 2 程序修改

给定程序MODI1.C是建立一个带头结点的单项链表,并用随机函数为各节点数据赋值。函数fun的作用是求出单项链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中所指部位的错误,使它能得出正确结果。 /**found**/

p= h - >next; /**found**/ p=p->next; 3 程序设计

请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中。一维数

组中数据的个数存在形参n所指的存储单元中。

void fun ( int (*s) [10] , int *b, int *n, int mm, int nn) {

int i, j, k ;

for (i=0 ; i

k=i *nn +j ;

b [k] =s [ i ] [j ]; }

*n= mm*nn; } 第八十套 1 程序填空

给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用。在规定的 2 处使f指向函数f1,在 3 处使f指向函数f2.当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000 请在程序下划线处填入正确的内容并把下划线删除,使程序得出正确结果。 第1处 double ( *f ) () ; 第2处 f = f 1; 第3处 f = f 2; 2 程序修改

给定程序MODI1.C是建立一个带头点的单向链表,并用随机函数为各结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。 /**found**/

p= h - >next;

/**found**/

p= p - >next; 3 程序设计

请编写函数fun,函数的功能是:判断字符串是否为回文?是,函数返回1,主函数中输出:YES,否则返回0,主函数中输出NO。回文是指顺读t和倒都都一样的字符串。

int fun ( char * str) {

int i , j= strlen (str) ; for ( i=0 ; i < j /2 ; i++)

if (str [ i ] ! = str [j- i - 1]) return 0 ; return 1 ; }

第八十一套 1 程序填空

给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atof和atof将字符串换成相应的整数和浮点数,然后将其显示在屏幕上。

25

第1处 FILE * fp ; 第2处 fclose (fp) ;

第3处 fscanf ( fp , \2 程序修改

给定程序MODI1.C中函数fun的功能是:对N名学生的学生成绩,按从高到低的顺序找出前m(m<10)名学生来,将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 /**found**/

t= ( STU *) calloc (sizeof (STU),m) ;

/**found**/ t [k] =b [ j ] ; 3 程序设计 请编写函数fun,函数的功能是,删去一维数组中所有相同的数,使之只剩一个。数组中的数已按从小到大的顺序排序,函数返回删除后数组中数据的个数。 int fun ( int a [ ] , int n ) {

int i , j =1 , k=a [0]; for ( i = 1; i

第八十二套 1 程序填空

给定程序中,函数 fun的功能是根据形参i的值返回某个函数年值。当调用正确时,程序输出:x1=5.000000 第1处 double fun ( int i , double x , double y) 第2处 renturn f1 (x) ; 第3处 return f2 (x, y) ; 2 程序修改

给定程序MODI1.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。 /**found**/

char *fun (char *s ,char *t)

/**found**/ ss++;

/**found**/ tt++; 3 程序设计

请编写函数fun,函数的功能是,移动字符串中的内容,移动的规则如下:把第一到m个字符,平均移到字符串的醉最后,把m+1个到最后的字符移到字符串的前部。 void fun (char *w, int m) {

int i ;

for ( i=0 ; i