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

江蘇省高校計(jì)算機(jī)等級(jí)考試命題研究院 江蘇省高校計(jì)算機(jī)等級(jí)考試輔導(dǎo)
2013秋江蘇省計(jì)算機(jī)二級(jí)C++上機(jī)真題第1套

2013秋江蘇省計(jì)算機(jī)二級(jí)Visual C++上機(jī)試卷

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

[題目]

  以下程序的功能是:驗(yàn)證一個(gè)字符串中的小括號(hào)"("")"是否匹配,即左小括號(hào)和右小括號(hào)是否成對(duì)出現(xiàn),并且符合括號(hào)配對(duì)規(guī)則,例如,字符串")(""(( )"中的小括號(hào)都不匹配

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

   請(qǐng)輸入一個(gè)字符串:ab(cde)(fg)(b)

   該字符串的小括號(hào)正確匹配

   請(qǐng)輸入一個(gè)字符串:ab)bc(de)(

   該字符串的小括號(hào)不匹配

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

   #include <iostream.h>

   int judge(char str[],int n)

   {

     int count;

     for(int i=0; i<n; i++){       

          if(str[i] == '(')

            count++;

          else if(str[i]==')'){

            count--;

            if(count>0)

               return 0;

          }

      }

      if(count!=0)

         return 0;

     return 1;

   }

       

   void main()

   {

     char str[50];

     cout<<"請(qǐng)輸入一個(gè)字符串:";

     cin.getline(str,50);

     if(!judge(str, strlen(str)))

       cout<<"該字符串的小括號(hào)正確匹配"<<endl;

     else

       cout<<"該字符串的小括號(hào)不匹配"<<endl;

   }

【要求】

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

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

  序中的注解可以不輸入。 

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

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

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

 

二、編程題(20)

【題目】

試定義一個(gè)類NUM,根據(jù)給定的二維數(shù)組a生成二維數(shù)組b,其生成規(guī)則如下:

  b[m][n]=

具體要求如下:

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

   int a[3][4]:原數(shù)組a

   float b[3][4]:生成數(shù)組b

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

   NUM(int k[][4], int n):構(gòu)造函數(shù),利用數(shù)組k初始化數(shù)組a

   void fun1(int k, int p):按下列算法提示計(jì)算數(shù)組b的元素b[k][p]

   void fun2():按題意生成數(shù)組b

   void print(): 按行列方陣形式輸出數(shù)組a和數(shù)組b

   算法提示: 計(jì)算  的程序采用兩重循環(huán),其中 為外循環(huán),

    為內(nèi)循環(huán)

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

   輸出示例:

   數(shù)組a:

   5    8    10    15

  17    6     4     8

   6    15    9     12

數(shù)組b:

7.07107   14.5344  24.2441  39.1695

24.5967   12.7269  10.0145  10.2021

29.5146   11.4176  7.54247  6.84524

 

[要求]

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

 

參考答案:

一、改錯(cuò)題

在第1行與第2行之間       添加#include <string.h>

4    int  count;    改為:int count=0

10   if(count>0)    改為: if(count<0)

23   if(!judge(str,strlen(str))  改為:if(judge(str,strlen(str))

 

 

 

 

 

二、編程題

#include <iostream.h>

#include <math.h>

 

class NUM{

   int a[3][4];

   float b[3][4];

public:

       NUM(int k[][4], int n)

       {

       for(int i=0;i<n;i++)

                 for(int j=0;j<4;j++)

                        a[i][j]=k[i][j];

       }

 

       void fun1(int k,int p)

       {

       float temp=0;

          for(int i=0;i<=k; i++)

                 for(int j=0; j<=p;j++){

             float t0=a[i][j]*a[i][j];

                      temp+=sqrt(t0/(k+1)/(k+1)+t0/(p+1)/(p+1));

                 }

              b[k][p]=temp/(k*p+1);

       }

 

       void fun2()

       {  for(int i=0;i<3;i++)

             for(int j=0; j<4; j++)

                      fun1(i,j);     

       }

 

       void print()

       {

      cout<<"數(shù)組a:"<<endl;

         for(int i=0; i<3; i++){

        for(int j=0;j<4;j++)

                     cout<<a[i][j]<<'\t';

           cout<<endl;

         }

         cout<<"\n數(shù)組b:"<<endl;

         for(i=0;i<3;i++){

        for(int j=0;j<4;j++)

                     cout<<b[i][j]<<'\t';

              cout<<endl;

         }

       }

};

 

void main()

{

       int a1[3][4]={5,8,10,15,17,6,4,8,6,15,9,12};

       NUM n1(a1,3);

       n1.fun2();

       n1.print();

}