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

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

            時間:2025-01-20 10:48:19 試題 我要投稿
            • 相關推薦

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

              函數ReadDat( )的功能是實現從文件ENG56.IN中讀取一篇英文文章,存入到字符串數組xx中。請編制函數encryChar( ),按給定的替代關系對數組xx中所有字符進行替代,仍存入數組xx的對應的位置上,最后調用函數WriteDat( )把結果xx輸出到文件ps56.dat中。

              替代關系:f(p)=p*11 mod 256(p是數組xx中某一個字符的ASCII值,f(p)是計算后新字符的ASCII值),如果原字符是小寫字母或計算后f(p)的值小于等于32,則該字符不變,否則將f(p)所對應的字符進行替代。

              注意:部分源程序已給出,原始數據文件的存放格式是每行的寬度均小于80個字符。

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

              試題程序:

              #include

              #include

              #include

              #include

              unsigned char xx[50][80];

              int maxline=0;

              int ReadDat(void);

              void WriteDat(void);

              void encryChar()

              {

              }

              void main()

              {

              system("CLS");

              if(ReadDat())

              {

              printf("數據文件ENG56.IN不能打開!n07");

              return;

              }

              encryChar();

              WriteDat();

              }

              int ReadDat(void)

              {

              FILE *fp;

              int i=0;

              unsigned char *p;

              if((fp=fopen("ENG56.IN","r"))==NULL) return 1;

              while(fgets(xx[i],80,fp)!=NULL)

              {

              p=strchr(xx[i],'n');

              if(p) *p=0;

              i++;

              }

              maxline=i;

              fclose(fp);

              return 0;

              }

              void WriteDat()

              {

              FILE *fp;

              int i;

              fp= fopen("ps56.dat","w");

              for(i=0;i

              {

              printf("%sn",xx[i]);

              fprintf(fp,"%sn",xx[i]);

              }

              fclose(fp);

              }

              【答案】

              void encryChar()

              {

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

              int str; /*存儲字符串的長度*/

              char ch; /*存儲當前取得的字符*/

              for(i=0;i

              {

              str=strlen(xx[i]); /*求得當前行的字符串長度*/

              for(j=0;j

              {

              ch=xx[i][j] *11%256;

              if((xx[i][j]>='a' && xx[i][j]<='z') || ch<=32)

              /*如果原字符是小寫字母或計算后的值小于等于32*/

              continue; /*則不作改變,指向下一個字符*/

              else

              xx[i][j]=ch; /*否則用新字符取代原有字符*/

              }

              }

              }

              【解析】本題要對二維數組中的字符元素按行進行處理。

              首先用strlen()函數得到當前行所包含的字符個數。

              然后再利用一個循環來依次訪問該行中的所有字符。對于每一個字符,先按照題目中的函數替代關系"f(p)=p*11 mod 256"計算出相應的fp值,再用一條if語句判斷該值是否符合本題給定的條件:"原字符是小寫字母或計算后的值小于等于32"。如果符合條件,則該字符不變,否則用f(p)所對應的字符對其進行替代。

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

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

            最新計算機三級網絡技術上機試題及答案09-04

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

            2016最新三級網絡技術上機試題及答案08-20

            2016最新三級網絡技術上機題及答案10-08

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

            2016計算機三級網絡技術上機題及答案07-28

            計算機三級《信息安全技術》上機模擬題及答案08-06

            計算機三級網絡技術模擬題及答案09-14

            <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>
                      黄色视频在线观看