全国计算机等级考试二级C语言上机_程序填空题库
1.给定程序的功能是调用FUN函数建立班级通讯录。通讯录中记录每位同学的编号,姓名电话号码。班级的人数和学生的信息从键盘输入,每个人的信息作为一个数据快写到名为myfile5.dat的二进制文件中
/**********found**********/int fun(STYPE *std)
{
/**********found**********/
??FILE ?*fp; ???int ?i;
??if((fp=fopen("myfile5.dat","wb"))==NULL)
???return(0);
??printf("\nOutput data to file !\n");
??for(i=0; i
/**********found**********/
???fwrite(&std[i], sizeof(STYPE), 1, fp);
??fclose(fp);
??return (1);
2 ?,程序的功能:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile.txt中,用-1作为字符串结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteTest实现void WriteText(FILE ?*fw)
{ ?char ?str[81];
??printf("\nEnter string with -1 to end :\n");
??gets(str);
??while(strcmp(str,"-1")!=0) {
/**********found**********/
???fputs(str,fw); ?fputs("\n",fw);
???gets(str);
??}
}
void ReadText(FILE ?*fr)
{ ?char ?str[81];
??printf("\nRead file and output to screen :\n");
??fgets(str,81,fr);
??while( !feof(fr) ) {
/**********found**********/
???printf("%s",str);
???fgets(str,81,fr);
??}
}
3 ?给定程序中FUN的功能是:将自然数1-10以及他们的平方跟写到名为myfile.txt的文本文件中,然后再顺序读出显示在屏幕上。/**********found**********/
???fprintf(fp,"%d %f\n",i,sqrt((double)i));
??printf("\nSucceed!!\n");/**********found**********/
??fclose(fp);
??printf("\nThe data in file :\n");
/**********found**********/
??if((fp=fopen(fname,"r"))==NULL)
???return ?0;
??fscanf(fp,"%d%f",&n,&x);
4 ???给定程序的功能是调用FUN函数将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回植为1,失败为0。在复制的过程中,把复制的内容输出到终端屏幕。住函数中源文件名放在变量sfname中,目标文件名放在变量tfname中??if((fs=fopen(source, "r"))==NULL)
???return 0;
??if((ft=fopen(target, "w"))==NULL)
???return 0;
??printf("\nThe data in file :\n");
??ch=fgetc(fs);
/**********found**********/
??while(!feof(fs))
??{ ?putchar( ch );
/**********found**********/
???fputc(ch,ft);
???ch=fgetc(fs);
??}
??fclose(fs); ?fclose(ft);
??printf("\n\n");
??return ?1;
5 ???给定程序中已建立一个带有头结点的单向连表,连表中的各接点按数据域中的数据递增有序连接。FUN函数的功能:把形参X的直放入一个新接点并插入到链表中,插入后各接点数据域的直仍保持递增有序/**********found**********/
??s->data=x;
??q=h;
??p=h->next;
??while(p!=NULL && x>p->data) {
/**********found**********/
???q=p;
???p=p->nex