填空题 1.  下列给定程序中,函数fun的功能是:将自然数1~10及其平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。
    请在程序下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
    注意:部分源程序给出如下。
    不得增行或删行,也不得更改程序的结构!
    试题程序:
    #include<math.h>
    #include<stdio.h>
    int fun (char *fname)
    {  FILE *fp; int i,n;float x;
    if((fp=fopen(fname,"w"))==NULL)
    return 0;
    for(i=1;i<=10; i++)
    /*********found*********/
    fprintf (______,"%d %f\n",i,sqrt((double)i));
    printf("\nSucceed!! \n");
    /*********found*********/
    ______;
    printf("\nThe data in file:\n");
    /*********found*********/
    if((fp = fopen (______,"r")) ==NULL)
    return 0;
    fscanf(fP,"%d%f",&n,&x);
    while(!feof(fp))
    {  printf("%d %f\n",n,x);
    fscanf(fp,"%d%f",&an,&x);}
    fclose(fp);
    return 1;
    }
    main()
    {  char fname[]="myfile3.txt";
    fun(fname);
    }
  • 1、
【正确答案】 1、(1)fp    (2)felose(fp)    (3)fname    
【答案解析】
   填空1:fprintf函数的形式是:fprintf(文件指针,格式字符串,输出表列);,所以填入文件指针fp。
   填空2:文件一旦使用完毕,应使用关闭函数fclose将文件关闭,以避免发生文件数据丢失等错误。
   填空3:fopen函数用来打开一个文件,其一般形式为:文件指针名=fopen(文件名,使用文件方式);因此应填入文件名fname。