中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

              一維數組的簡單總結

發布時間:2020-06-27 17:53:07 來源:網絡 閱讀:636 作者:buzhbuzh 欄目:編程語言

一     使用數組的目的:可以讓多個數據使用一個變量,用不同的下標加以區分;

           數組的需要先定義后使用,int a[10];//定義了一個長度為10,存放int型數據的數組;以下定義是錯誤的:

       int a[a+1];//不能有表達式

        int  b[n];//不能有字母

        int n=10;

        int a[n];//錯誤,有字母

總結:[ ]中的值只能是正整數

 二 數組的引用:通過下標引用

      int a[10];這十個元素分門別為a[0]至a[9];引用時注意不要下標越界;這十個數在內存中連續存放

三 數組的賦值:數組的賦值需要在未定義完時候進行,如 int a[10]={1,2,4};不可以寫成 :

     int a[10];

     a[10]={1,2};

     int a[10]={1,2};//不完全賦值,a[0]到a[1]值分別為1,2,其余均為0(注意不是垃圾數據);

    定義數組不聲明數組個數的時候必須賦初值,數組個數取決于初值個數;

      int a[]={1,1,1};//數組個數為3

四 數組的遍歷使用for語句;

    數據在數組中存儲的三個特點:

    1.從0開始;

    2.連續存放;

    3.上述兩個特點必須動態滿足(不論刪除數據還是增加數據);

五 對于數組的輸入,插入,刪除,求均值,排序的講解:

     編寫程序,對若干名同學成績進行處理,包括輸入成績,刪除成績,插入成績,求平均值,按升序排序:

     輸入成績:因為輸入學生不定,所以不能提前預知輸入的個數,所以我們規定當輸入為 -1 時候結束輸入       

     程序代碼:

        printf("請輸入數據(當輸入-1時候結束):\n");

        scanf("%d", &num);

        for(i=0;i!=num;i++)

        {

                  score[i]=num;

                  printf("請輸入數據(當輸入-1時候結束):\n"); 

                  scanf("%d", &num);

       }              

     插入成績:插入成績分兩步完成 第一步是查找 第二步插入(找到原有成績,并將新成績插到原有成績之前)

     1.查找的第一步是找到原有成績,第二步是找到其下標i,第三步是輸入要插入的成績

     2.插入采用前插法,具體查找的過程:

         已知:插入成績 newScore

                    數組的有效元素:count

                    插入點下標: j

        插入成績的 偽代碼:

                    for(i=count;i>j;i--)

                    {

                        score[i]=score[i-1];

                    }

                    score[i]=newScore;

                    count;

        將倒數第二賦值給倒數第一,將倒數第三賦值給倒數第二,找到將原有插入點下標的數據賦值給后一位,留下的空位由插入點數據補充;

       3.查找的目的是找到舊成績的下標

                偽代碼:

                for(i=0;i<count&&score[i]!=oldScore;i++)

                        ;

                if(i>count)

                    printf("插入錯誤");

                else

                    ;//真正插入的代碼

        刪除成績:

            1.輸入要刪除的成績

            2.找到這個成績(從頭依次查找)

            3.刪除這個成績(將之后的成績依次提前一位)        

        

            偽代碼如下

             printf("請輸入刪除的成績:\n");

            scanf("%d" , &delescore);   

            for(i = 0; i<count&&score[i]! = delescore;i++)

                ;

            if(i>count)

                printf("未有要刪除的成績\n");

            else

             {   

                for(;i<count-1;i++)

                 {

                        score[i]=score[i+1];

                }

                

            }

     求和:相加除以人數即可:

     按升序排序:將一堆混亂的數據從新有小到大排序

        for(i = 0;i < count ;i++)//控制放置最小的數字

            for(j = i+1;j < count ;j++)

                {

                        if(score[i] >score[j])//將小的放前面

                        {

                                num = score[j];

                                score[j] =score[i];

                                score[i] = num;

                                

                          }  

                }

                    

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合山市| 新平| 轮台县| 水城县| 博客| 云阳县| 翁源县| 乐清市| 柘荣县| 郎溪县| 鄂伦春自治旗| 洪洞县| 游戏| 余干县| 若羌县| 星子县| 柳林县| 三明市| 武义县| 刚察县| 东丰县| 武宁县| 阆中市| 革吉县| 手游| 柳河县| 阿巴嘎旗| 陆河县| 汝城县| 溆浦县| 怀宁县| 榆树市| 浪卡子县| 黑水县| 保康县| 宜城市| 砀山县| 石景山区| 彰化县| 芦山县| 威海市|