1. <small id="kntrr"><delect id="kntrr"></delect></small>
    2. <sub id="kntrr"></sub>
        1. <form id="kntrr"><listing id="kntrr"></listing></form>
            江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
            2013秋江蘇省計算機二級C++上機真題第1套

            2013秋江蘇省計算機二級Visual C++上機試卷

            一、改錯題(20)

            [題目]

              以下程序的功能是:驗證一個字符串中的小括號"("")"是否匹配,即左小括號和右小括號是否成對出現,并且符合括號配對規則,例如,字符串")(""(( )"中的小括號都不匹配

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

               請輸入一個字符串:ab(cde)(fg)(b)

               該字符串的小括號正確匹配

               請輸入一個字符串:ab)bc(de)(

               該字符串的小括號不匹配

               含有錯誤的源程序如下:

               #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<<"請輸入一個字符串:";

                 cin.getline(str,50);

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

                   cout<<"該字符串的小括號正確匹配"<<endl;

                 else

                   cout<<"該字符串的小括號不匹配"<<endl;

               }

            【要求】

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

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

              序中的注解可以不輸入。 

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

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

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

             

            二、編程題(20)

            【題目】

            試定義一個類NUM,根據給定的二維數組a生成二維數組b,其生成規則如下:

              b[m][n]=

            具體要求如下:

            (1)私有數據成員

               int a[3][4]:原數組a

               float b[3][4]:生成數組b

            (2)公有成員函數

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

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

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

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

               算法提示: 計算  的程序采用兩重循環,其中 為外循環,

                為內循環

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

               輸出示例:

               數組a:

               5    8    10    15

              17    6     4     8

               6    15    9     12

            數組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盤根目錄下,供閱卷用

             

            參考答案:

            一、改錯題

            在第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<<"數組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數組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();

            }

            国产在线精品一区二区三区不卡_亚洲第一极品精品无码_永久免费无码网站在线观看_亚洲av综合日韩