<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            試題

            9月計算機三級網絡技術上機模擬題及答案

            時間:2025-04-29 04:54:34 試題 我要投稿
            • 相關推薦

            9月計算機三級網絡技術上機模擬題及答案

              已知在文件IN100.DAT中存有N個實數(N<200),函數ReadDat( )讀取這N個實數并存入數組xx中。請編制程序CalValue( ),其功能要求:

              (1)求出這N個實數的平均值aver。

              (2)分別求出這N個實數的整數部分值之和sumint及其小數部分之和sumdec,最后調用函數WriteDat( )把所求的結果輸出到文件OUT100.DAT中。

              注意:部分源程序已給出。

              請勿改動主函數main( )、讀函數ReadDat( )和寫函數WriteDat( )的內容。

              試題程序:

              #include

              #include

              #define MAXNUM 200

              float xx[MAXNUM];

              int N=0;

              double aver=0.0;

              double sumint=0.0;

              double sumdec=0.0;

              int ReadDat( );

              void WriteDat( );

              void CalValue( )

              {

              }

              void main( )

              {

              system("CLS");

              if(ReadDat( ))

              {

              printf("數據文件IN100.DAT不能打開!\007\n");

              return;

              }

              CalValue ( );

              printf("文件IN100.DAT中共有實數%d個\n",N);

              printf("平均值=%.2lf\n",aver);

              printf("整數部分之和=%.2lf\n",sumint);

              printf("小數部分之和=%.2lf\n",sumdec);

              WriteDat( );

              }

              int ReadDat()

              {

              FILE *fp;

              if((fp=fopen( "in100.dat","r"))==NULL)

              return 1;

              while(!feof(fp))

              {

              fscanf(fp,"%f",&xx[N]);

              if (xx[N] >0.001) N++;

              }

              fclose(fp);

              return 0;

              }

              void WriteDat()

              {

              FILE *fp;

              fp=fopen("OUT100.DAT","w");

              fprintf(fp,"%d\n%.2lf\n%.2lf\n%.2lf\n",N,aver,sumint,sumdec);

              fclose(fp);

              }

              【參考答案】

              void CalValue( )

              {

              int i; /*定義循環控制變量*/

              double sum=0.0; /*定義存儲所有數的和值的變量*/

              for(i=0;i  {

              sumint+=(int)xx[i]; /*求整數部分之和*/

              sumdec+=(xx[i]-(int)xx[i]); /*求小數部分之和*/

              sum=sum+xx[i]; /*求N個數之和*/

              }

              aver=sum/N; /*求N個數的平均數*/

              }

              【解析】要將一個實數的整數部分和小數部分分開,這里使用的方法是強制類型轉換法。強制類型轉換是按照要求將表達式的值轉換成指定的類型。將一個實數強制轉換成整型數之后,其小數部分被去掉(不是四舍五入,而是直接刪除)。用該實數減去轉換后的整數,就得到了小數部分的值。

              在本題中,通過一個for循環分別計算整數和小數部分的累加和,以及這N個實數的和。最后求出這N個實數的平均值。

            【9月計算機三級網絡技術上機模擬題及答案】相關文章:

            9月計算機三級網絡技術模擬題及答案06-24

            計算機三級網絡技術上機模擬題及答案10-12

            2015年9月計算機三級網絡技術上機試題及答案09-08

            最新2016計算機三級網絡技術上機模擬題及答案09-10

            2016年3月計算機三級網絡技術上機題及答案09-19

            2017年9月計算機三級網絡技術模擬題(含答案)08-01

            計算機三級網絡技術上機題庫及答案05-13

            2015年9月計算機三級《網絡技術》全真模擬題答案及解析11-02

            2015年9月計算機三級考試《網絡技術》沖刺模擬題答案10-25

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院