机试样卷一 、程序调试题(40分) 磁盘上有一个C程序文件 testI-1c,其作用是:输入10个整数,将其中最小的数与第 个数对换,把最大的数与最后一个数对换。调试程序,可以增加和修改程序行,但不得 删除程序中的整行。注意:在一处增加的程序行不得超过两行。 #definen 10 int numberIN; input(number); max min value( output(number); input(number) int i; printf("Please input 10 number: \n") scanf("%d", &numberliD) max min value(array) int array N int*max, *min; array end=array+10; for(p=array+l; p<array_end if(*p*max)*max=*p; else if(p<*min)*min="p *p=array; arraylmin -array=*p; p=array 9 return; output(array) int array[ 101:
机试样卷一 一、程序调试题(40 分) 磁盘上有一个 C 程序文件 test1-1.c,其作用是:输入 10 个整数,将其中最小的数与第 一个数对换,把最大的数与最后一个数对换。调试程序,可以增加和修改程序行,但不得 删除程序中的整行。注意:在一处增加的程序行不得超过两行。 #define N 10 main() { int number[N]; input(number); max_min_value(); output(number); } input(number) { int i; printf("Please input 10 number:\n"); for (i=0;i*max) *max=*p; else if (*p<*min) *min=*p; *p=array[0]; array[min-array]=*p; *p=array[9]; array[max-array]=*p; return; } output(array) int array[10]; {
printf("Result is: ) for(p=array: pmax) else if(person/i- age<min) for(i=0;i<3;i++) if(personi- age!=max personi- age!=min i printf("%d %d\n" person i- name, person i. age);
int *p; printf("Result is: "); for(p=array;pmax) max= else if(person[i].age<min) min= for(i=0;i<3;i++) if(person[i].age!=max||person[i].age!=min) { printf("%d %d\n",person[i].name,person[i].age); break; } }
二、編写程序(程序文件名为test2-2.c)(60分) 主函数从命令行读入一个文件名,然后调用函数 getline从文件中读入一个字符串放到 字符数组str中(字符个数最多为100个)函数返回字符串的长度。在主函数中输出字符 串及其长度。请编写程序。 样卷三 、程序调试题(40分) 磁盘上有一文件test3-1c,程序的功能是将字符串b复制到字符串a之后。请改正程序 中的错误,使其能得到正确的结果 注意:不能修改主函数,不得删除行,一处只能增加一行,不得改变程序的结构。 #include stdio. h maino f char all="I am a boy."; char b=we are student'; while(ai!=10,)i++ for(j++;*(b+j)!="0;i++++) ai]=btj; printf("Now! Instring a is: %sIn", aliD) printf("string b is:"); for(i=0;b[l!="0;i++) printf("%c", b); printf("\n); 编写程序(程序文件名为test3-2.c)(60分) 设文件test3-2in中存放了一组整数。分别统计并输出文件中正整数、零和负整数的个 数,将统计结果显示在屏幕上,同时输出到文件test32.out中。请编写程序。 要求:两个文件名tet3-2in和test3-2out均由命令行输入
二、编写程序(程序文件名为 test2-2.c)(60 分) 主函数从命令行读入一个文件名,然后调用函数 getline 从文件中读入一个字符串放到 字符数组 str 中(字符个数最多为 100 个)。函数返回字符串的长度。在主函数中输出字符 串及其长度。请编写程序。 样卷三 一、程序调试题(40 分) 磁盘上有一文件 test3-1.c,程序的功能是将字符串 b 复制到字符串 a 之后。请改正程序 中的错误,使其能得到正确的结果。 注意:不能修改主函数,不得删除行,一处只能增加一行,不得改变程序的结构。 #include "stdio.h" main() { char a[]="I am a boy."; char b="We are student."; int i,j; while(a[i]!='\0') i++; for( j++;*(b+j)!='\0';i++,j++) a[i]=b+j; printf("Now!\nstring a is: %s\n",a[i]); printf("string b is:"); for(i=0;b[i]!='\0';i++) printf("%c",b); printf("\n"); } 二、编写程序(程序文件名为 test3-2.c)(60 分) 设文件 test3-2.in 中存放了一组整数。分别统计并输出文件中正整数、零和负整数的个 数,将统计结果显示在屏幕上,同时输出到文件 test3-2.out 中。请编写程序。 要求:两个文件名 test3-2.in 和 test3-2.out 均由命令行输入