2017年全国计算机等级考试二级C语言上机题库 联系客服

发布时间 : 星期六 文章2017年全国计算机等级考试二级C语言上机题库更新完毕开始阅读178d0a8b250c844769eae009581b6bd97e19bc10

}

第八十一套 1 程序填空 给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atof和atof将字符串换成相应的整数和浮点数,然后将其显示在屏幕上。 第1处 FILE * fp ; 第2处 fclose (fp) ;

第3处 fscanf ( fp , \% s % s\,str, str1 ,str2); 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

第八十三套

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

第2处 printf (\第3处 show (std) 2 程序修改

给定程序MODI1.C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 /**found**/ m= i ;

/**found**/

if ( a [k]>a [m]) m=k; 3 程序设计

请编写一个unsigned fun(unsigned w ),w是一个大雨于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。

例如:w值为5923,则函数返回923;w值为923,则函数返回23. unsigned fun ( unsigned w) {

if ( w >=10000) return w000; if ( w >=1000) return w00; if ( w >=100) return w0; return w; }

第八十四套 1 程序填空

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

第2处 fseek (fp ,-1L*sizeof (STU), SEEK_END);

第3处 fwrite ( &n, sizeof (STU), 1, fp) ; 2 程序修改

给定程序MODI1.C中函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 /**found**/

p= ( NODE *) malloc (sizeof(NODE));

/**found**/ return h; 3 程序设计

请编写函数fun,函数的功能是,统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词有小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。 int fun ( char *s ) {

int k=1; while (*s)

{ if (*s==' ')k++; s++; } return k ; }

第八十五套 1 程序填空

程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生书数据,并按照从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。 第1处 fp =fopen ( filename , \第2处 if ( s [ i ] . sno >s [ j ] .sno) 第3处 fwrite (s,sizeof (STU), N, fp); 2 程序修改

给定程序MODI1.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。注意:字符串的长度最长允许为79.

/**found**/ p=s ;

/**found**/ while (*p++) 3程序设计

请编写函数fun,函数的功能是:统计各年龄段的人数,N个年龄能通过调用随机函数获得,并放在主函数的age数组中:要求函数把0到9岁的年龄段的人数放在d[0]zhong 把10—19岁的年龄段的人数放在d[1]中,其余依此类推,把100岁(含100岁)的年龄段的人数放在d[10]中。结果在主函数中输出。 void fun ( int *a , int *b) {

int i , j ;

for ( i=0; i10) b [M-1]++; else b [j ]++; } }

第八十六套 1 程序填空 给定程序中,函数fun的功能是将不代头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第1处 NODE * fun (NODE *h) 第2处 r=q - >next ; 第3处 q=r; 2 程序修改

给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中) /**found**/

if ( i % 2 || s [ i ]%2==0 )

/**found**/ t [ j ]= ' \\0 ' ; 3程序设计

请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。函数fun中给出的语句仅供参考。

# include

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

int i, j, np=0;

for ( i=0; i

b[np] = s [ j ] [ i ]; np=i*mm+j+1; }

*n=np ; }

第八十七套 1程序填空

程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门的分数加3分,修改后重写文件中该学生的数据,即用该学生背后的数据覆盖原数据,其他学生数据不变;若找不到,则什么都不做。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第1处 while (!feof (fp))

第2处 if (n. sno ==sno) break ;

第3处 fseek (fp, -1L*sizeof(STU),SEEK CUR) ;

2 程序修改

给定程序MODI1.C中函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序,插入法的基本算法是:先对字符串中的头两个元素进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,??。待排序的字符串已在主函数中赋予。请改正函数fun中指定部位的错误,使它能得出真确结果。 /**found**/ n=strlen (aa);

/**found**/ ch =aa [i]; 3程序设计

N名学生的成绩已在主函数中放入一个带头

结点的链表结构中,h指向链表的头结点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。 double fun ( STREC *h ) {

double max=h ->s ; STREC *p ; p=h->next ; while (p)

{ if (p-s>max) max=p->s ; p=p->nest; }

return max ; }

第八十八套

1程序填空 给定程序中,函数fun的功能是调用随机函数产生的20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。 第1处 while (n

第2处 if ( x==a[ i ]) break ;

第3处 if ( i==n) { a[n] =x ; n++;} 2 程序修改

给定程序MODI1.C中函数fun的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。 /**found**/ sum=0

/**found**/

scanf (\3 程序设计

编写程序,实现矩阵(3行3列)的转置(即行列互换)

int fun ( int array[3] [3]) {

int i, j, arr [3] [3];

memcpy(arr,array,9*sizeof(int) ); for ( i=0; i<3; i++) for ( j=0; j<3; j++)

array [ i ] [ j ] =arr [ j ] [ i ]; 第八十九套 1 程序填空

给定程序中,函数fun的功能是:求ss所知字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共m个字符串,且串长>N。

第1处 int fun( char (*ss)[N], int *n) 第2处 if ( i==0) *n=len; 第3处 *n=len; 2 程序修改

给定程序MODI1.C中函数fun的功能是:根据形参m计算如下公式的值。例如,若输入5,则应输出2.283333 /**found**/ t+=1. 0/ i ;

/**found**/ return t; 3程序设计

编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。 int fun (char *str, char *substr) {

int cnt =0 ;

char *p =str, *q ; while (*p) {

q=strstr (p,substr) ; if (q==NULL) break ; p=q +strlen (substr) ; cnt++; }

第九十套 1 程序填空

给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指字符串数组中有M个字符串,且串长

第一处 n=strlen(ss[i]); 第二处 ss[i][n+j]=?*?; 第三处 ss[i][n+j+1]=?\\0?; 2 程序修改

给定程序MODI1.C中函数fun的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。请改正程序中错误之处,使它能得出正确结果。 /**found**/ if(*p= =? ?) /**found**/

*(p-1)=toupper(*(p-1));

3请编写函数fun对长度为7个字符的字符串,

除首、尾字符外,将其余5个字符ASCII码降序排列。

int fun(char *s,int num) {

char ch; int i,j;

for(i=1;i<6;i++) for(j=i+1;j<6;j++) {

if(*(s+i)<(s+j)) {

ch=*(s+j); *(s+j)=*(s+i); *(s+i)=ch; }}}

第九十一套 1程序填空

给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。 第一处 max=*std;

第二处 if(max.age

printf(“\\nName:%s,Age:%d\\n”,max.name,max.age);

2 程序修改

给定程序MODI1.C中函数fun的功能是:实现两个整数的交换。例如给a和b分别输入:60和65,输出为:a=65 b=60 /**found**/

void fun(int *a,int *b) /**found**/

t=*b;*b=*a;*a=t; 3程序编写

请编写一个函数void fun(int t t[M] [N],int pp [N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指唯一数组中。二维数组中的数已在主函数中赋予。

void fun(int tt[M][N],int pp[N]) {

int i,j,min,k; for(i=0;i

min=tt[0][i];k=0; for(j=1;jtt[j][i]) {min=tt[j][i]; k=j; }