<samp id="uu9tx"></samp>
        <samp id="uu9tx"><tr id="uu9tx"><nav id="uu9tx"></nav></tr></samp>
        <delect id="uu9tx"><legend id="uu9tx"><meter id="uu9tx"></meter></legend></delect>
                <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp><nav id="uu9tx"></nav>
                <samp id="uu9tx"></samp>
                  <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp>
                  江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
                  2013春江蘇省計算機二級Visual C++上機試卷1

                  2013()江蘇省計算機等級考試

                  二級Visual C++上機試卷1

                  一、改錯題

                  【題目】

                    如果將一個二進制數的各位數字的順序顛倒后所得到的新二進制數與原數相等,則稱該二進制數為回文數,以下程序的功能是:在由兩個正整數確定的范圍內,查找對應的二進制數為回文數的整數,采用的算法是:將待判斷的整數轉換為二進制數形式,并按正序和反序方式分別存入兩個字符串中,比較兩個字符串,若兩個字符串相等則該數為符合要求的數

                    正確程序的輸入/輸出結果如下(下劃線部分為鍵盤輸入):

                    請輸入查找范圍:100  200

                    對應的二進制數為回文數的個數為:8

                    107à1101011

                    119à1110111

                    127à1111111

                    129à10000001

                    153à10011001

                    165à10100101

                    189à10111101

                    195à11000011

                  含有錯誤的源程序如下

                  #include <iostream.h>

                  #include <string.h>

                  char *fun(int t)

                  {

                    char s1[33]={0},s2[33]={0},c,*p1,*p2;

                    p1=s1;p2=s2+31;

                    while(t){

                      c=t%2;

                      t/=2;

                      *p1++=c;

                      *p2++=c;

                    }

                    p2++;

                    if(!strcmp(s1,p2)){

                       char *p=new char[33];

                       strcpy(p,s1);

                       return *p;

                    }

                    else

                       return 0;

                  }

                   

                  void main()

                  {

                    int a[200]={0},low,up;

                    char *bin[200]={0},*p;

                    cout<<"請輸入查找范圍:";

                    cin>>low>>up;

                    for(int i=0,j=low;j<=up;j++)

                      if(p==fun(j)){

                        a[i]=j; bin[i++]=p;

                      }

                    cout<<"對應的二進制數為回文數的個數為:"<<i<<endl;

                    for(i=0;bin[i];i++){

                      cout<<a[i]<<"-->"<<bin[i]<<endl;

                      delete[] bin[i];

                    }

                  }

                   

                  【要求】

                      1.打開T盤中myfa.txt文件,將其文本拷貝到文件myfa.cpp(或將上述程序錄入到文

                    myfa.cpp),根據題目要求及程序中語句之間的邏輯關系對程序中的錯誤進行修改。程

                    序中的注解可以不輸入。 

                      2.改錯時,可以修改語句中的一部分內容,增加少量的變量說明、函數原型說明或編譯預

                        處理命令,但不能增加其他語句,也不能刪除整條語句。

                      3.將改正后的源程序文件myfa.cpp必須放在T盤根目錄下,供閱卷用。

                   

                  二、編程題(20)

                   【題目】

                     試定義一個類STR,統計一個字符串中包含的句子數和單詞數,規定單詞之間以空格、”,””.”分隔,句子以”.”結束,具體要求如下

                    (1)私有數據成員

                  char *s :指向待統計的字符串

                  int m,n: 分別記錄求得的單詞數和句子數

                    (2)公有成員函數

                  STR(char *t):  構造函數,用參數t初始化字符串s

                  void fun(): 按題意統計單詞數,結果存放在數據成員m,再統計句子數,結果存放在數據成員n

                   void print():  按輸出示例的格式輸出統計結果

                   ~STR(): 析構函數,實現必要的功能

                   (3)在主函數中對該類進行測試

                     輸出示例:

                     字符串:I am a student. I am twenty. I com from china

                     句子數:3

                     單詞數:11

                   

                  【要求】

                    源程序文件名必須為myfb.cpp,并放在T盤根目錄下,供閱卷用

                   

                  亚洲欧美日韩国产一区二区三区_全亚洲免费一级黄片_国产一区二区三区不卡视频手机版_国产污三级网站在线观看