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

             

             

                2008()上機試卷(02)

                (本試卷上機時間為70分鐘)

            一、改錯題(20)

            【題目】

                以下程序的功能是:統計和輸出企業產品銷售記錄。設每個產品銷售記錄由產品代碼

            dm(4個字符)、產品名稱mc(2個字符)、單價dj、數量sl、金額je四部分組成。其中,金額=

            單價*數量。以下程序中函數sort()的功能是按產品代碼從大到小對產品銷售記錄進行排序;若產品代碼相同,則按金額從大到小進行排序,最后調用函數print()輸出結果。

              含錯誤的源程序如下:

                #include <iostream.h>

                #include <string.h>

                struct PROD{

                      char dm [5],name[3];

                      int sl,dj,je;

                };

                void computerje(PROD p1[],int n)    //計算產品金額

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

                     (p1+i).je=(p1+i).dj *(p1+i).sl;

                }

                void sort(PROD p1[],int n)

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

                     for(int j=i+1;j<n;j++){

                      if(strcmp(p1[i].dm,p1[j].dm)<0){

                       t=p1[i];

                       p1[i]=p1[j];

                       p1[j]=t;

                }

                else if(strcmp(p1[i].dm,p1[j].dm)=0)

                  if(p1[i].je<p1[j].je){

                   PROD t=p1[i];

                   p1[i]=p1[j];

                   p1[j]=t;

             

                }}}

                }

                void print(PROD *p1,int n)

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

                     cout<<p1[i].dm<<','<<p1[i].name<<',';

                     cout<<p1[i].s1<<','<<pl[i].dj<<','<<p1[i].je<<endl;

                   }

                }

                void main()

                {PROD pr[4]={{"1001","AA",4,15},{"4000","BB",3,45},{"4000",

                               "CC",6,53},{"8546","DD",1,43}};

                computerje(pr,4);

                sort(pr,4);

                print(pr,4);

                }

            【要求】

                1.把上述程序錄人到文件myfa.epp,根據題目要求及程序中語句之間的邏輯關系

            對程序中的錯誤進行修改。程序中的注解可以不輸入。

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

            編譯預處理命令,但不能增加其他語句,也不能刪去整條語句。

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

            二、編程題(20)

            【題目】

                試定義一個類NUM,實現將一維數組中各整數元素去掉其中相同數字后再對數組從小

            到大排序。將一個整數去掉相同數字是指:如果一個整數中有相同的數字,則保留從左數起

            ,第一次看到的那個數字,而將其他相同的數字去掉。例如:數字12324151中有三個1、兩個2,則去掉相同的數字后變為12345。具體要求如下:

              (1)私有數據成員。

              int a [5]:存放需處理的數組。

              (2)公有成員函數。 

              NUM(int t[],int n):構造函數,t初始化a,nt的元素個數。

              void sort(int t[],int n):將數組t的元素從小到大排序。

              int convert(int n):去除n中相同的數字并返回新得到的數。

              void fun():將數組a的各元素去除相同的數字后從小到大排列。要求調用函數

                convert()sort()。

              void print():輸出數組a的所有元素。

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

              輸入/輸出示例(下劃線部分為鍵盤輸入):

                輸入5個整數:1213  65666  22313  12314  34435

                處理前的數組為:1213  65666  22313  12314  34435

                處理后的數組為:65  123  231  345  1234

            【要求】   

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

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