二级C语言操作108题填空改错答案.

更新时间:2024-07-09 07:24:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第1题 填空题

给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

例如,输入一个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1。C中。 不得增行或删行,也不得更改程序的结构! 答案:

/**********found**********/ { t=*n % 10;

/**********found**********/ if(t%2!= 0)

{ x=x+t*i; i=i*10; } *n =*n /10; }

/**********found**********/ *n=x;

改错题

给定程序MODI1。C中函数fun的功能是:计算n!。 例如,给n输入5,则输出120。000000。

请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程 答案:

/************found************/ if (n == 0) return 1.0 ;

while( n >1 && n < 170 )

/************found************/ result *= n--;

第02套

填空:给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。 #include

void fun(char *s, int a, double f) {

/**********found**********/ FILE *fp; char ch;

fp = fopen(\ fprintf(fp, \ fclose(fp);

fp = fopen(\ printf(\

ch = fgetc(fp);

/**********found**********/ while (!feof(fp)) {

/**********found**********/ putchar(ch); ch = fgetc(fp); }

putchar('\\n'); fclose(fp); }

main()

{ char a[10]=\ double c= 98.76; fun(a,b,c); }

改错:给定程序MODI1.C中函数fun的功能是: 依次取出字符串中所有数字字符, 形成新的字符串, 并取代原字符串。 #include void fun(char *s) { int i,j;

for(i=0,j=0; s[i]!='\\0'; i++) if(s[i]>='0' && s[i]<='9')

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

/**********found**********/ s[j]='\\0'; }

main()

{ char item[80];

printf(\ printf(\ fun(item);

printf(\ }

第3题 填空题

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据以二进制方式输出的文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1。C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/

fp = fopen(filename, \/**********found**********/

fseek(fp, -1L*sizeof(STU), SEEK_END); /**********found**********/ fwrite(&n, sizeof(STU), 1, fp); fclose(fp); 改错题

给定程序MODI1。C中的函数CreatLink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。

请改正函数CreatLink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构 /**********found***********/ p=(NODE *)malloc(sizeof(NODE)); h=p;

p->next=NULL; for(i=1; i<=n; i++)

{ s=(NODE *)malloc(sizeof(NODE));

s->data=rand()%m; s->next=p->next; p->next=s; p=p->next; }

/**********found***********/ return h;

第4题 填空题

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据以二进制方式输出的文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1。C中。 不得增行或删行,也不得更改程序的结构!

/**********found**********/ fp = fopen(filename, \ fread(s, sizeof(STU), N, fp); fclose(fp);

for (i=0; i

/**********found**********/ if (s[i].sno >s[j].sno)

{ t = s[i]; s[i] = s[j]; s[j] = t; } fp = fopen(filename, \/**********found**********/ fwrite(s, sizeof(STU), N, fp);

改错题

给定程序MODI1。C中函数fun的功能是:在字符串繁荣最前端加入n个*号,形成新串。并覆盖原串。

注意:字符串的长度最长允许为79。

请改正函数fun中指定部位的错误,使它能得出正确的结果。 /**********found***********/ p=s;

for(i=0; i

{ a[i]=*p; i++; }

/**********found***********/ while(*p++);

第5题 填空题

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

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1。C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ FILE * fp;

char str[100], str1[100], str2[100]; int a1; double f1; fp = fopen(\

fprintf(fp, \ %d %f\\n\/**********found**********/ fclose(fp) ;

fp = fopen(\/**********found**********/ fscanf(fp,\改错题

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

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构 int i,j,k;

/**********found**********/ t=(STU *)calloc(sizeof(STU),m); for(i=0; i

for(k=0; k b[j].s) j=i; /**********found**********/ t[k]=b[j];

第6题 填空题

给顶程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时,程序输出:

x1=5.000000,x2=3.000000, x1*x1+x1*x2=4.000000

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存在考生文件夹下的BLANK1。C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/

double fun(int i, double x, double y) { if (i==1)

/**********found**********/ return f1(x); else

/**********found**********/ return f2(x, y);

改错题

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

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构 /**********found**********/ char *fun(char *s, char *t) { int sl=0,tl=0; char *ss, *tt; ss=s; tt=t; while(*ss) { sl++;

/**********found**********/ ss++; }

while(*tt) { tl++;

/**********found**********/ tt++;

第7题 填空题

程序通过定义并赋值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存在考生文件夹下的BLANK1。C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ void show(STU tt) { int i;

printf(\

tt.birthday.year, tt.birthday.month, tt.birthday.day); for(i=0; i<3; i++)

/**********found**********/ printf(\ printf(\}

main( )

{ STU std={ 1,\ printf(\/**********found**********/ show(std);

改错题

给定程序MODI1。C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! for(i=0;i<2;i++) {

/**********found**********/ m=i;

for(k=i+1;k

/**********found**********/ if(a[k]>a[m]) m=k;

第8题 填空题

给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ void modify(STU *ss,float a) { int i;

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

/**********found**********/ ss->score[i] *=a; }

main( )

{ STU std={ 1,\ float a;

printf(\ show(std);

printf(\ \ scanf(\/**********found**********/ modify(&std,a); 改错题

long fun ( int k) {

/************found************/ if (k > 0)

return (k*fun(k-1));

/************found************/ else if ( k==0 )

第9题 填空题

给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6。排序后链表结点数据域从头至尾的数据为2、4、6、8、10。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存在考生文件夹下的BLANK1。C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ q = p->next ;

/**********found**********/ while (q)

{ if (p->data > q->data)

{ t = p->data; p->data = q->data; q->data = t; } q = q->next; }

/**********found**********/ p = p->next ; 改错题

给定程序MODI1。C中函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换为a),其它字符不变。

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

/**********found***********/ while(*s)

{ if(*s>='A' & *s<='Z' || *s>='a' && *s<='z') { if(*s=='Z') *s='A'; else if(*s=='z') *s='a';

else *s += 1; }

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

第10题 填空题

给定程序中,函数fun的功能是:判定形参的NXN(规定N为奇数)的矩阵是否是\幻方\,若是,函数返回值为1;不是,函数返回值为0。\幻方\的判定条件是:矩阵每行、每列、主对角线及反对角线上的元素之和都相等。 例如,以下3X3的矩阵就是一个\幻方\:

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 源程序存在考生文件夹下的BLANK1。C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ row=colum= 0; for(j=0; j

{ row+=a[i][j]; colum+=a[j][i]; } /**********found**********/

if( (row!=colum) || (row!=m1) ) return 0; }

/**********found**********/ return 1;

改错题

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

例如,若主函数中输入5,则应输出-0.283333。

请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! for( i = 2; i <= m; i++ )

/**********found**********/ t = t-1.0/i;

/**********found**********/ return t;

第11题

填空题

给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2;

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1。C中, 不得增行或删行,也不得更改程序的结构! /**********found**********/ p = h->next;

/**********found**********/ if (p==0) return; q = p->next; p->next = NULL; while (q)

{ r = q->next; q->next = p; /**********found**********/ p = q; q = r;

改错题

给定程序MODI1.C中函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。

请改正函数fun中指定部位的错误,使它能得出正确的结果;

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 /*********found**********/ r=t;

while(*r)

if(*r==*p) { r++; p++; } else break;

/*********found**********/ if(*r== 0)

第12题 填空题

给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2;

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1。C中, 不得增行或删行,也不得更改程序的结构! /**********found**********/ NODE * fun(NODE *h) { NODE *p, *q, *r; p = h;

if (p == NULL)

return NULL; q = p->next; p->next = NULL; while (q) {

/**********found**********/ r = q->next; q->next = p; p = q;

/**********found**********/ q = r ; 改错题

给定程序MODI1.C中,函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCⅡ码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中); 例如:字符串中的数据为:AABBCCDDEEFF, 则输出结构应该是:ABBCDDEFF;

请改正函数fun中指定部位的错误,是它能得出正确的结果,

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /***********found**********/ if(i%2 || s[i]%2==0) t[j++]=s[i];

/***********found**********/ t[j]='\\0';

第13套

填空:给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 #include #include #define N 6

typedef struct node { int data;

struct node *next; } NODE;

void fun(NODE *h) { NODE *p, *q; int t;

/**********found**********/ p = h->next ; while (p) {

/**********found**********/ q = p ; while (q) {

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

给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。

例如,s所指字符串为:asd123fgg543df,处理后新字符串为:asdfghdf123543。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ t[j]=s[i]; j++;} else

{ p[k]=s[i]; k++; } }

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

改错题

/************found************/ while ( *w )

{ p = w; r = t1; while ( *r )

/************found************/ if ( *r == *p )

第19题 填空题

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。

例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:10001、 \、95、80、88,修改后输出t中的数据应为:10002、\、96、 81、89。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。

注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/

struct student * fun(struct student *a) { int i;

a->sno = 10002;

strcpy(a->name, \

/**********found**********/ for (i=0; i<3; i++) a->score[i] += 1;

/**********found**********/ return a ;

改错题

给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。 请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 /**********found**********/ char *fun(char (*sq)[M]) { int i; char *sp; sp=sq[0];

for(i=0;i

if(strlen( sp)

/**********found**********/ return sp;

第20题 填空题

给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 移动后的输出为:30 6 17 15 26 46 32 40 45 48

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!

/**********found**********/ for(i=0; i/**********found**********/ y[j]=x[i]; x[i]=-1; j++;} i=0;

while(i

{ if( x[i]!= -1 ) y[j++]=x[i]; /**********found**********/ i++; 改错题

给定程序MODI1.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。

例如:若输入:THIs is a boot,则输出应该是:1、0 、2、2、0。 请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /**********found**********/ num[k]=0; for (; *s; s++) { i = -1;

/**********found**********/ switch ( *s ) 第21题 填空题

给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如:有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 移动后的输出为:46 32 40 45 48 30 6 17 15 26

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件下的BLANK1.C中。不得增行或删行,也不得修改程序的结构!

/**********found**********/ av=s/N;

for(i=j=0; iav ){

/**********found**********/ y[j++]=x[i]; x[i]=-1;} for(i=0; i

/**********found**********/ if( x[i]!= -1) y[j++]=x[i]; 改错题

给定程序MODI1.C的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的\单词\是指由空格隔开的字符串)。 例如,若输入:I am a student to take the examiantion, 则应输出:I Am A Student To Tale The Examination。 请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得修改程序的结构! /************found************/ #include

/************found************/ upfst ( char *p )

第22题 填空题

给定程序中,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序

的结构!

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

fprintf(fp,\ printf(\!\\n\/**********found**********/ fclose(fp);

printf(\/**********found**********/ if((fp=fopen(fname,\

改错题

给定程序MODI1.C中fun函数的功能是:将n个无序数从小到大排序。 请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /************found************/ for ( i=j+1; ia[i] )

/************found************/ p=i;

第23题 填空题

给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!

for(i=0; i

/**********found**********/ b[i]= a[0][i]; for(j=1; j

/**********found**********/ if(b[i] < a[j][i]) b[i]=a[j][i]; } }

main()

{int x[N][N]={ {12,5,8,7},{6,1,9,3}, {1,2,3,4},{2,8,4,3} },y[N],i,j; printf(\ for(i=0;i

{ for(j=0;j

/**********found**********/ fun(x,y);

printf(\

for(i=0; i

改错题

给定程序MODI1.C中函数fun的功能是:交换主函数中两个变量的值。例如:变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。 请改正程序中的错误,使它能计算出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /*********found**********/ int fun(int *x,int *y) { int t;

/*********found**********/ t=*x;*x=*y;*y=t; }

第24题 填空题

程序通定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。 例如:传给形参a的数据中,学号、姓名、和三门课的成绩依次是:10001、\、95、80、88,修改后的数应为:1002、\、96、81、89。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!

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

struct student fun(struct student a) { int i;

a.sno = 10002;

/**********found**********/ strcpy(a.name, \

/**********found**********/ for (i=0; i<3; i++) a.score[i]+= 1;

改错题

假定整数数列中的数不重复,并存放在数组中。给定程序MODI1.C中函数fun的功能是;删除数列中值为x的元素。n中存放的是数列中元素的个数。 请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更程序的结构。 /**********found**********/ if(p==n) return -1; else

{ for(i=p;i

/**********found**********/ a[i]=a[i+1];

第25题 填空题

人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。 注意:源程序存放在考生文件夹的BLANK1.C中。 不得增行或删行,也不得更改程序结构! /**********found**********/ STU fun(STU *std, char *num)

{ int i; STU a={\ for (i=0; i

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

if( strcmp(std[i].num,num)==0 ) /**********found**********/ return (std[i]);

改错题

给定程序MODI1.C中函数fun的功能是:从s所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。

例如,当s所指字符串中的内容为:\所指字符串的内容为:\,则函数返回整数3。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序结构! /************found************/ r++; p++; }

else break;

/************found************/ if ( *r == 0 )

第26套 填空:给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 #include #include #define N 8

typedef struct list { int data;

struct list *next; } SLIST;

void fun( SLIST *h)

{ SLIST *p, *q; p=h->next; if (p!=NULL) { q=p->next; while(q!=NULL)

{ if (p->data==q->data) { p->next=q->next;

/**********found**********/ free(q);

/**********found**********/ q=p->next; } else { p=q;

/**********found**********/ q=q->next; } } } }

SLIST *creatlist(int *a) { SLIST *h,*p,*q; int i;

h=p=(SLIST *)malloc(sizeof(SLIST)); for(i=0; i

{ q=(SLIST *)malloc(sizeof(SLIST)); q->data=a[i]; p->next=q; p=q; }

p->next=0; return h; }

void outlist(SLIST *h) { SLIST *p; p=h->next;

if (p==NULL) printf(\ else

{ printf(\

do { printf(\ printf(\ } }

main( )

{ SLIST *head; int a[N]={1,2,2,3,4,4,4,5}; head=creatlist(a);

printf(\

fun(head);

printf(\ }

改错:给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。 #include #define N 20

void fun(int a[], int n) { int i, j, t, p;

for (j = 0 ;j < n-1 ;j++) {

/************found************/ p = j;

for (i = j;i < n; i++) if(a[i] < a[p])

/************found************/ p = i;

t = a[p] ; a[p] = a[j] ; a[j] = t; } }

main()

{ int a[N]={9,6,8,3,-1},i, m = 5; printf(\排序前的数据:\

for(i = 0;i < m;i++) printf(\ fun(a,m);

printf(\排序后的数据:\

for(i = 0;i < m;i++) printf(\ }

第27题 填空题

给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。 1×3 3×5 5×7 (2×n-1)×(2×n+1) s = -- + -- + -- + ……+ ----------

22 42 62 (2×n)2

例如,当形参n的值为10时,函数返回为:9.612558。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中. 不得增行或删行,也不得更改程序结构! /**********found**********/ s=0;

/**********found**********/ for(i=1; i<=n; i++) { t=2.0*i;

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

s=s+(2.0*i-1)*(2.0*i+1)/(t*t);

改错题

给定程序MODI1.C中函数fun的功能是:统计substr所指字符串在str所指字符串中出现的次数。

例如,若字符串为aaas lkaaas,子字符串为as,则应输出2。 请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /************found************/ for(i = 0; str[i]; i++)

for(j=i,k=0;substr[k]==str[j];k++,j++) /************found************/ if(substr[k+1]=='\\0')

第28题 填空题

给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7.输出结果为:4

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中. 不得增行或删行,也不得更改程序结构! /**********found**********/ for(i=0; s[i] !=NULL; i++) /**********found**********/ if(s[i]>='0'&&s[i]<= '9') n++; /**********found**********/ *t=n;

改错题

给定程序MODI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

请修改程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /**************found**************/ t = *x ; *x = y ;

/**************found**************/ return(t) ;

第29题 填空题

程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课的成绩。函数fun的功能是对形参b所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。

例如:b所指变量t中的学号、姓名、和3门课的成绩依次是:10002、\、93、85、

87,修改后的数据应为10004、\、93、85、87。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中. 不得增行或删行,也不得更改程序结构! /**********found**********/ b->sno = 10004;

/**********found**********/ strcpy(b->name, \}

main()

{ struct student t={10002,\ int i;

printf(\

printf(\ Name: %s\\nScores: \ for (i=0; i<3; i++) printf(\ printf(\

/**********found**********/ fun(&t); 改错题

给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的公式如下:

例如,a为2时,平方根值为:1.414214。

请修改程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /**********found**********/ double fun(double a, double x0) { double x1, y; x1=(x0+ a/x0)/2.0;

/**********found**********/ if( fabs(x1-x0)>0.00001 )

第30题 填空题

程序通过定义学生结构体变量,存储了学生的学号、姓名和3站课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。

例如:a所指变量中的学号、姓名、和三门课的成绩依次是:1001、\、95、80、88,则修改后输出b中的数据应为:1002、\、95、80、88。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正胡的结果。

注意:源程序存放在考生文件夹下的BLN1.C中。不得增行或删行,也不得更改程序的结构!

/**********found**********/ *n=0;

p=h->next; while(p) { (*n)++;

/**********found**********/ p=p->next; } }

main()

{ SLIST *head;

int a[N]={12,87,45,32,91,16,20,48}, num; head=creatlist(a); outlist(head); /**********found**********/ fun(head, &num); 改错题

给定程序MODI1.C中函数fun的功能是:求出a所指字符串最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。

例如,当字符串中的内容为:\,t中的内容为:\时,输出结果应是:abcdx.

当字符串中的内容为:\,t中的内容为:\时,则输出未找到信息:not be found!。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /************found************/ a = NULL; while ( *s )

{ p = s; r = t; while ( *r )

/************found************/ if ( *r == *p )

第37题 填空题

给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息,ss所指字符串数组中共有N个字符中,且串长小于M。程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,为非0。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注间:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序

的结构!

/**********found**********/ for(i=0; i< N ; i++)

/**********found**********/ if( strstr(ss[i], substr) != NULL )

{ find=1; puts(ss[i]); printf(\ } /**********found**********/

if (find==0) printf(\

改错题

给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。

例如,给主函数中的变量x1、x2、x3分别输入15 11 2,则输出结果应当是:330。 请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 /************found************/ fun(int x, int y, int z ) { int j,t ,n ,m; j = 1 ; t=j%x; m=j%y ; n=j%z;

while(t!=0||m!=0||n!=0) { j = j+1; t=j%x; m=j%y; n=j%z; }

/************found************/ return j;

第38题 填空题

函数fun的功能是:把形参a所指数组中的奇数按原则序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。

例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序放在考生文件夹下的BLANK1.C中。不得增册或删行,也不得更改程序的结构!

/**********found**********/ if (a[i]%2==1) {

/**********found**********/ a[j] = a[i]; j++; }

/**********found**********/ return j;

改错题

给定程序MODI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。

例如,若给num1和num2分别输入49和21,则输出的最大公约数为7;若给num1和num2分别输入27和81,则输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /************found************/ t=a;a=b;b=t; }

r=a%b; while(r!=0)

{ a=b; b=r; r=a%b; }

/************found************/ return(b);

第39题 填空题

给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过K的字符串,函数返回所剩字符串的个娄。ss所指字符串数组中共有N个字符串,且串长小于M。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!

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

/**********found**********/ if(len<= k)

/**********found**********/ strcpy(ss[j++],ss[i]); 改错题

给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串 例如,若主函数中a字符串为:dBCDeFgH, 主函数中b字符串为:ABcd, 则c中的字符串应为:aBcdeFgH。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 /************found************/ int k = 0;

/************found************/ while( *p || *q )

第40题 填空题

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ s->data=x; q=h;

p=h->next;

while(p!=NULL && x>p->data) { /**********found**********/ q=p;

p=p->next; }

s->next=p;

/**********found**********/ q->next=s; 改错题

给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 /************found************/ long k=1; do

{ k*=num ;

/************found************/ num/=10 ;

第41题 填空题

给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有 数据为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作 为函数值返回,在主函数中输出。

例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为: 30.500000

主函数中 输入:m=30.0

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ *av=s/N; d=32767;

for(i=0; i

if(x[i]<*av && *av - x[i]<=d){ /**********found**********/ d=*av-x[i]; j=i;}

/**********found**********/ return x[j];

改错题

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

例如,若n=10,则应输出:0.617977。

请改正程序中的语法错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /************found************/ float fun ( int n ) { float A=1; int i;

/************found************/ for (i=2; i<=n; i++)

第42题 填空题

给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:defadhkjsdf3537。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ t2[j]=s[i]; j++; }

else t1[k++]=s[i]; t2[j]=0; t1[k]=0;

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

改错题

给定程序MODI1.C中函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /**************found**************/ for (j = i + 1; j < 6; j++) {

if(strcmp(*(pstr + i), *(pstr + j)) > 0) {

p = *(pstr + i) ;

/**************found**************/ *(pstr + i) = *(pstr + j) ;

第43题 填空题

给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ for(i=0; i< N ; i++)

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

if(strcmp(ss[i],t)==0 ) return i ; return -1; }

main()

{ char ch[N][M]={\ int n,i;

printf(\

for(i=0;i

printf(\ \ gets(t); n=fun(ch,t);

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

if(n== -1) printf(\改错题

给定程序MODI1.C中函数fun的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中a1放个位置,a2放十位数。

请更正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

/************found************/ a2=k/10; a1=k-a2*10;

if((k%3==0 && a2==5)||(k%3==0 && a1==5)) { b[i]=k; i++; } }

/************found************/ return i;

第44题 填空题

函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9',则

'0'转换成'9','1'转换成'8','2'转换成'7',......,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ char fun(char ch) {

/**********found**********/ if (ch>='0' && ch<='9')

/**********found**********/ return '9'- (ch-'0'); 改错题

给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。

例如,在给a输入字符串:ABCDEFGHIJK,

调用函数之后,字符数组b中的内容则为:ABC DEF GHI JK。 请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 /**********found**********/ b[k]=*p;

k++; p++; i++; } if(*p) {

/**********found**********/ b[k++]=' ';

第45题 填空题

函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、

a[1]、a[2]、......中,把奇数从数组中删除,偶数个数通过函数值返回。例如:若a所指数组中的数据为:4、2、6、8,返回值为4。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ if (a[i]%2== 0) {

/**********found**********/ a[j] = a[i]; j++; }

/**********found**********/ return j;

改错题

给定程序MODI1.C中函数fun的功能是:按以下递归公式求函数值。

例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。 请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 /************found************/ fun (int n) { int c;

/************found************/ if(n==1)

第46题 填空题

给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输入排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。

注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ k= i ;

for(j=i+1; j

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

if(strlen(ps[k]) < strlen(ps[j]) ) k=j; /**********found**********/

tp=ps[i]; ps[i]=ps[k]; ps[k]= tp ; 改错题

已知一个数从第0页开始的前三项分别为:0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。当n的值

通过形参传入。

例如,当n=0时,程序的输出结果应为:23.197745。 请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /************found************/ double fun(int n)

{ double sum, s0, s1, s2, s; int k; sum = 1.0;

if (n <= 2) sum = 0.0;

s0 = 0.0; s1 = 0.0; s2 = 1.0; for (k = 4; k <= n; k++) { s = s0 + s1 + s2; sum += sqrt(s);

s0 = s1; s1 = s2; s2 = s; }

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

第47题 填空题

给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。

例如,形参s所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ ch=tolower(*s); n=ch-'a';

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

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

给定程序MODI1.C中函数fun的功能是:求S的值。

例如,当K为10时,函数值应为:1.533852。 请更改程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /************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;

第48题 填空题

给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。

例如,形参s所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。

注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! /**********found**********/ if( isdigit(*s) ) sum+= *s- 48 ; /**********found**********/ s++; }

/**********found**********/ return sum ; 改错题

给定程序MODI1.C中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。 请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! /************found************/ if ((k == 0) || (k == 0)) { m = m+ k; mc++; } k--; }

return m;

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

本文来源:https://www.bwwdw.com/article/brf.html

Top