国二上机考试习题库(5)

2019-08-01 23:01

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

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

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

/**********found**********/ __1__ fp; char ch;

fp = fopen(\

fprintf(fp, \ fclose(fp);

fp = fopen(\ printf(\ ch = fgetc(fp);

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

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

putchar(__3__); ch = fgetc(fp); } putchar('\\n'); fclose(fp); }

main()

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

38、给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。

例如,输入一个整数:27638496,函数返回值为:64862。

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

unsigned long fun(unsigned long n) { unsigned long x=0; int t; while(n) { t=n;

/**********found**********/ if(t%2==__1__)

/**********found**********/ x=__2__+t;

/**********found**********/ n=__3__; }

return x; }

main()

{ unsigned long n=-1; while(n>99999999||n<0)

{ printf(\ scanf(\ } printf(\}

39、给定程序中,函数fun的功能是计算下式

例如,若形参e的值为1e-3,函数的返回值2.735678。

21

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include double fun(double e) { int i; double s, x;

/**********found**********/ s=0; i=__1__; x=1.0;

while(x>e){

/**********found**********/ __2__;

/**********found**********/ x=(2.0*i-1)/((__3__)*(2.0*i)); s=s+x; }

return s; }

main()

{ double e=1e-3;

printf(\}

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

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

void fun(unsigned long *n)

{ unsigned long x=0, i; int t; i=1;

while(*n)

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

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

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

/**********found**********/ *n=__3__; }

main()

{ unsigned long n=-1; while(n>99999999||n<0)

{ printf(\ fun(&n);

printf(\}

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

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

struct node *next; } NODE;

void fun(NODE *h) { NODE *p, *q, *r; 22

/**********found**********/ p = __1__;

/**********found**********/ if (__2__) return; q = p->next;

p->next = NULL; while (q)

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

h->next = p; }

NODE *creatlist(int a[])

{ NODE *h,*p,*q; int i; h = (NODE *)malloc(sizeof(NODE)); h->next = NULL; for(i=0; i

{ q=(NODE *)malloc(sizeof(NODE)); q->data=a[i]; q->next = NULL;

if (h->next == NULL) h->next = p = q; else { p->next = q; p = q; } }

return h; }

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

if (p==NULL) printf(\ else

{ printf(\ \ do

{ printf(\ } while(p!=NULL); printf(\ } }

main()

{ NODE *head;

int a[N]={2,4,6,8,10}; head=creatlist(a);

printf(\ outlist(head); fun(head);

printf(\ outlist(head); }

42、给定程序中,函数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中。 不得增行或删行,也不得更改程序的结构! #include #include #define N 10 double fun(double *x)

{ int i, j; double av, y[N]; av=0;

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

23

if( x[i]

/**********found**********/ y[j]=x[i]; x[i]=-1; __2__;} i=0;

while(i

{ if( x[i]!= -1 ) y[j++]=x[i]; /**********found**********/ __3__; }

for(i=0; i

main()

{ int i; double x[N];

for(i=0; i

printf(\ printf(\

for(i=0; i

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

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

void fun(char (*ss)[M])

{ char *ps[N],*tp; int i,j,k; for(i=0; i

/**********found**********/ k= __1__ ;

for(j=i+1; j

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

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

tp=ps[i]; ps[i]=ps[k]; ps[k]= __3__ ; }

printf(\ for(i=0; i

main()

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

printf(\

for(i=0;i

44、给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。

例如,形参s所指的字符串为:Abc@1x56*,程序执行后t所指字符数组中的字符串应为:A@156*。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include

int fun(char *s, char *t) { int n=0; while(*s) { if(*s < 97) {

/**********found**********/ 24

*(t+n)= __1__ ; n++; } /**********found**********/ __2__ ; }

*(t+n)=0;

/**********found**********/ return __3__ ; }

main()

{ char s[81],t[81]; int n;

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

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

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

char name[10]; float score[3]; } STU;

void fun(char *filename, STU n) { FILE *fp;

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

fseek(fp, -1L*sizeof(STU), __2__); /**********found**********/ fwrite(__3__, sizeof(STU), 1, fp); fclose(fp); }

main()

{ STU t[N]={ {10001,\ {10003,\ {10004,\ {10005,\ STU n={10006,\ int i,j; FILE *fp; fp = fopen(\ fwrite(t, sizeof(STU), N, fp); fclose(fp);

fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp);

printf(\ for (j=0; j

{ printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ }

fun(\

printf(\ fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp);

for (j=0; j

{ printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ }

25


国二上机考试习题库(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:同期论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: