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

            2009春上機2

            :改錯題

             以下程序中函數fun(int a[ ],int N)的功能是:刪除數組a的前N個元素中重復的元素,(相同的元素只保留一個),并返回所刪除元素的總數

            處理前的數組a:4  1  3  3  1  2  4  3  4  4

            處理后的數組a:4  1  3  2

            處理前的數組b:1  2  1  3  2  1  4

            處理后的數組b:1  2  3  4

            #include <iostream.h>

            int fun(int a[],int N)                  //因為函數要返回一個數值,所以要改為int

            {int c,n=0;                         //c變量保存每個數值,n變量保存重復的數值數量

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

                      c=a[i];

               for(int j=i+1;j<N-n-1;j++)       //for循環首先取數值與后面的每一個數值比較,如果與后面的數值

                        if(a[j]==c){          //相同就覆蓋后面的數值,所以要N-n,不能加1,否則最后一個就比較不到

                     for(int k=j;k<N-n-1;k++)  a[k]=a[k+1]; //for循環將后面數值移動到前面,覆蓋找到的重復數值

                                n++;                            //n表示找到一個重復數值

                                j++;                    //因為后面數值覆蓋了前面的重復數,所以要從這個覆蓋的位置開始    }                        // 重新比較,所以要j--,使比較從舊位置開始

              }

              return n;                              //返回有多少是重復的

            }

             

            void print(int a[],int n)            //本函數的作用是輸出傳遞來的a數組中的值

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

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

             cout<<endl;

            }

            void main()

            {int a[10]={4,1,3,3,1,2,4,3,4,4},b[7]={1,2,1,3,2,1,4};

             cout<<"處理前的數組a:";

             print(a,10);

             int n=fun(a,10);

             cout<<"處理后的數組a:";

             print(a,10-n);                       //10-n表示去除重復個數

             cout<<"處理前的數組b";

             print(b,7);

             n=fun(b,7);

             cout<<"處理后的數組b";

             print(b,7-n);                     //7-n表示去除重復個數

            }

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