<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>
            試題

            計算機三級網絡技術上機考試題

            時間:2025-04-04 21:38:04 試題 我要投稿
            • 相關推薦

            計算機三級網絡技術上機考試題

              離2016年第一次計算機考試只有一個月了,同學們的網絡技術復習得怎么樣了呢?下面百分網小編為大家準備了最新的網絡技術上機考試題,希望能幫助到大家!

            計算機三級網絡技術上機考試題

              第一題

              下列程序的功能是:將大于整數m且緊靠m的k個素數存入數組xx。請編寫函數num(int m,int k,int xx[ ])實現程序的要求,最后調用函數readwriteDAT( )把結果輸出到out92.dat文件中。

              例如,若輸入17,5,則應輸出19,23,29,31,37。

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

              請勿改動主函數main()和輸入輸出函數readwriteDAT()的內容。

              試題程序:

              #include

              #include

              void readwriteDAT();

              void num(int m,int k,int xx[])

              {

              }

              void main()

              {

              int m,n,xx[1000];

              system("CLS");

              printf("\nPlease enter two integers:");

              scanf("%d,%d",&m,&n);

              num(m, n, xx);

              for(m=0;m  printf("%d ",xx[m]);

              printf("\n");

              readwriteDAT();

              }

              void readwriteDAT()

              {

              int m, n, xx[1000],i;

              FILE *rf,*wf;

              rf=fopen("in92.dat","r");

              wf=fopen("out92.dat","w");

              for(i=0;i<10;i++)

              {

              fscanf(rf,"%d %d",&m,&n);

              num(m,n,xx);

              for(m=0;m  fprintf(wf,"%d ",xx[m]);

              fprintf(wf,"\n");

              }

              fclose(rf);

              fclose(wf);

              }

              【參考答案】

              void num(int m,int k,int xx[])

              {

              int i,half,cnt=0; /*定義變量cnt來統計已經取得的素數個數*/

              int data=m+1; /*從大于整數m的數開始找*/

              while(1) /*循環條件始終為真,所以是無條件循環*/

              {

              half=data/2; /*求出當前數的一半,判斷素數*/

              for(i=2;i<=half;i++)

              /*如果該數依次除以從2到其一半的整數,余數都不是0,則該數是素數*/

              if(data%i==0) /*如果余數為0*/

              break; /*則退出循環,取下一個數判斷*/

              if(i>half)

              {

              xx[cnt]=data; cnt++; /*確定該數為素數后,將該數存入數組xx中,并累計素數的個數*/

              }

              if(cnt>=k) break; /*如果累計素數的個數超過了要求的個數,則退出循環*/

              data++; /*如果累計素數的個數小于要求的個數,則繼續取下一個數*/

              }

              }

              【解析】在本題中,首先要結合相關數學知識找出判定一個數是否為素數的方法,從而對數據進行篩選。如果數a依次除以從2到a/2的整數,余數都不是0,則該數是素數。將符合條件的數存入數組xx中,使用計數器變量cnt來統計已經取得的數的個數。當cnt的值小于等于k時,即表示所獲得素數的個數已經達到了要求,循環停止。

              第二題

              下列程序的功能是:在三位整數(100至999)中尋找符合條件的整數并依次從小到大存入數組中;它既是完全平方數,又是兩位數字相同,例如144、676等。請編制函數實現此功能,滿足該條件的整數的個數通過所編制的函數返回。最后調用函數writeDat()把結果輸出到文件out.dat中。請勿改動主函數main()和寫函數writeDat()的內容。

              #include

              int jsvalue(int bb[])

              {

              }

              main

              {

              int b[20],num;

              num=jsvalue(b);

              writeDat(num,b);

              }

              writeDat(int num,int b[])

              {

              FILE *out;

              int i;

              out=fopen(\"out.dat\",\"w\");

              fprintf(out,\"%d\\n\",num);

              for(i=0;i

              fclose(out);

              }

              -------------------------------------

              注:注意在i==(int)sqrt(i)*(int)sqrt(i)中只有當i是完全平方數時開平方后再取整才不會丟失任何數據。

              int jsvalue(int bb[])

              {

              int i,j,k=0,g,s,b;

              for(i=100;i<=999;i++)

              {

              g=i;

              s=i/10;

              b=i/100;

              if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s//s==b//b==g))

              bb[k++]=i;

              }

              return k;

              }

              int jsvalue(int bb[])

              {

              int i,k=0;

              for(i=100;i<=999;i++)

              if((int)sqrt(i)*(int)sqrt(i)==i && (i/100==i || i/100==i/10 || i/10==i))

              bb[k++]=i;

              return k;

              }

                    <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>
                      飘沙影院