鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計(jì)算機(jī)等級考試命題研究院 江蘇省高校計(jì)算機(jī)等級考試輔導(dǎo)
2012春江蘇計(jì)算機(jī)二級VC++上機(jī)真題

                二級    Visual C++上機(jī)試卷

                 (本試卷完成時(shí)間為70分鐘)

 一、改錯(cuò)題(20)

    【題目】

    以下程序中,函數(shù)fun(int m, int fac[], int &p)的功能是:計(jì)算參數(shù)m(m>2)的所有因子,將這些因子按從小到大的順序依次存放在數(shù)組fac,將因子個(gè)數(shù)存放在參數(shù)p,并返回所有因子之和。

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

    輸入一個(gè)整數(shù):24

    24的所有因子之和為:60

    24的各因子為:1 2 3 4 6 8 12 24

    含有錯(cuò)誤的源程序如下:

  1    #include<iostream.h>

  2    #include<math.h>

  3    int fun(int,int[],int);

  4    void main(void) 

  5    {

  6      int n,f[100],p;

  7      cout<<"輸入一個(gè)整數(shù):";

  8      cin>>n;

  9      cout<<n<<"的所有因子之和為:"<<fun(n,f,p)<<endl;

  10     cout<<n<<"的各因子為:";

  11     for(int i=0;i<p;i++)

  12       cout<<f[i]<<' ';

  13     cout<<endl;

  14    }

  15    int fun(int m,int fac[],int &p)

  16    {

  17     int i,s;

  18     fac[0]=p=1;

  19     for(s=1,i=2;i<=sqrt(m);i++){

  20       if(m%i=0){

  21         fac[p++]=i;

  22         s+=i;

  23       }

  24     }

  25     fac[p]=m;  

  26     s+=m;  

  27     return fac;  

  28     }

   

    【要求】

    1.打開T盤中myfa.txt文件,將其文本拷貝到文件myfa.cpp(或?qū)⑸鲜龀绦蜾浫氲轿?/SPAN>

  myfa.cpp),根據(jù)題目要求及程序中語句之間的邏輯關(guān)系對程序中的錯(cuò)誤進(jìn)行修改。程

  序中的注解可以不輸入。 

    2.改錯(cuò)時(shí),可以修改語句中的一部分內(nèi)容,增加少量的變量說明、函數(shù)原型說明或編譯預(yù)

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

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

 二、編程題(20)

   【題目】 

  試定義一個(gè)類STR,實(shí)現(xiàn)兩個(gè)字符串的交集。具體要求如下:

  (1)私有數(shù)據(jù)成員。

  char s1[50],s2[50],s0[50]:字符串s0用于存放字符串s1和字符串s2的交集。

  (2)公有成員函數(shù)。

  STR(char *p1,char *p2):構(gòu)造函數(shù),分別用參數(shù)p1p2初始化成員數(shù)組s1s2

  int isin(char *p,char c):判斷字符c是否出現(xiàn)在字符串p,如果是,則返回值為1,

否則返回值為0

  void   fun():求成員數(shù)組s1s2的交集,并將結(jié)果存放在成員數(shù)組s0中。提示:利用

函數(shù)isin(char *,char)依次判斷一個(gè)字符串中的每個(gè)字符是否包含于另一個(gè)字符串中,如果

包含,且該字符不包含于成員數(shù)組s0,則將該字符加入到成員數(shù)組s0中。

  void print():按輸出示例的格式輸出所有數(shù)據(jù)成員。

  (3)在主函數(shù)中對該類進(jìn)行測試。    。

    輸出示例:

    字符串1:abcdef123abc12

    字符串2:acef123ace124

    兩個(gè)字符串的交集:acef123

    【要求】  

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

    參考答案

    一、改錯(cuò)題

    3  int fun(int,int[],int);    改為int &

    19  for(s=1,i=2;i<=sqrt(m);i++){  改為i<=m/2i<m

    20  if(m%i=0){    改為m%i==0

    27  return fac;    改為return s

    二、編程題

    #include<iostream.h>

    #include<string.h>

    class STR{

          char s1[50],s2[50],s0[50];

    public:  

          STR(char *p1.char *p2)

          {

            strcpy(s1,p1);

            strcpy(s2,p2);

            s0[0]='\0';

}

          int isin(char *p,char c)

          {char *p0=p;

           while(*p0)

             if(*p0++==c)  return 1;

           return 0;

          }

         void fun()

         {

           for(char *p1=s1,*p0=s0;*p1;p1++)

           {

             if(isin(s2,*p1)&&(!isin(s0,*p1)))

            {

              *p0++=*p1;

            }

            *p0='\0';

         }

        }

      void print()

      {  cout<<"字符串1:"<<sl<<endl;  

         cout<<"字符串2:"<<s2<<endl;

         cout<<"兩個(gè)字符串的交集:"<<s0<<endl;

      }

   };

   void main()

   {  char str1[]="abcdef123abc12",str2[]="acef123ace124";

      STR test(str1,str2);

      test.fun();test.print();

   }