亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        2013年計算機二級C語言上機題庫及答案解析(12)

        字號:

        填空題
            給定程序中,函數(shù)fun的功能是:將自然數(shù)1~10以及它們的平方根寫到名為myfile3.txt的文本文件中,然后再順序讀出顯示在屏幕上。
            請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。
            注意:源程序存放在考生文件夾下的BLANK1.C中。
            不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
            給定源程序:
            #include
            #include
            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++)
            fprintf(___1___,"%d %f\n",i,sqrt((double)i));
            printf("\nSucceed!!\n");
            ___2___;
            printf("\nThe data in file :\n");
            if((fp=fopen(___3___,"r"))==NULL)
            return 0;
            fscanf(fp,"%d%f",&n,&x);
            while(!feof(fp))
            { printf("%d %f\n",n,x); fscanf(fp,"%d%f",&n,&x); }
            fclose(fp);
            return 1;
            }
            main()
            { char fname[]="myfile3.txt";
            fun(fname);
            }
            解題思路:
            本題要求所求出的數(shù)寫入到指定的文件中保存。程序中共有三處要填上適當?shù)膬?nèi)容,使程序能運行出正確的結(jié)果。
            第一處:int fprintf(FILE *stream, const char *format [,argument, …]); 因此本處只能填寫文件流的變量fp。
            第二處:由于文件打開寫操作,所以必須要關(guān)閉,因此,只能填寫關(guān)閉文件的函數(shù)fclose(fp)。
            第三處:由于本題要把剛寫入文件中的數(shù)據(jù)重新顯示出來,讀方式已經(jīng)給出,但沒有給出
            文件名,所以本處只能寫文件名變量fname或者直接給出文件名"myfile3.dat"。
            改錯題
            給定程序MODI1.C中fun函數(shù)的功能是:將n個無序整數(shù)從小到大排序。
            請改正程序中的錯誤,使它能得出正確的結(jié)果。
            注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
            給定源程序:
            #include
            #include
            fun ( int n, int *a )
            { int i, j, p, t;
            for ( j = 0; j
            { p = j;
            for ( i=j+1; i
            if ( a[p]>a[i] )
            t=i;
            if ( p!=j )
            { t = a[j]; a[j] = a[p]; a[p] = t; }
            }
            }
            putarr( int n, int *z )
            { int i;
            for ( i = 1; i <= n; i++, z++ )
            { printf( "%4d", *z );
            if ( !( i%10 ) ) printf( "\n" );
            } printf("\n");
            }
            main()
            { int aa[20]={9,3,0,4,1,2,5,6,8,10,7}, n=11;
            printf( "\n\nBefore sorting %d numbers:\n", n ); putarr( n, aa );
            fun( n, aa );
            printf( "\nAfter sorting %d numbers:\n", n ); putarr( n, aa );
            }
            解題思路:
            第一處:for循環(huán)的終止值應(yīng)該
            第二處:使用臨時變量p來保存最小值位置i,所以應(yīng)改為:p=i;。
            編程題
            函數(shù)fun的功能是: 將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。 合并的方式是: 將a數(shù)的十位和個位數(shù)依次放在c數(shù)的個位和百位上, b數(shù)的十位 和個位數(shù)依次放在c數(shù)的十位和千位上。
            例如, 當a=45, b=12時, 調(diào)用該函數(shù)后, c=2514。
            注意: 部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。
            請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
            給定源程序:
            #include
            void fun(int a, int b, long *c)
            {
            }
            main()
            { int a,b; long c;
            printf("Input a, b:");
            scanf("%d,%d", &a, &b);
            fun(a, b, &c);
            printf("The result is: %ld\n", c);
            NONO();
            }
            解題思路:
            本題是給出兩個兩位數(shù)的正整數(shù)分別取出各位上的數(shù)字,再按條件組成一個新數(shù)。
            取a十位數(shù)字的方法:a/10
            取a個位數(shù)字的方法:a%10
            參考答案:
            void fun(int a, int b, long *c)
            {
            *c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);
            }