<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            試題

            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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看