程式結構和數組

來源:互聯網
上載者:User

標籤:...   逆向   python語言   一維數組   div   排列   append   判斷   std   

一、程式結構

  1、分類:順序結構、迴圈結構、選擇結構。

  2、順序結構:程式是按照先後順序執行

  3、迴圈結構;設定一個條件,當滿足時就一直在這個條件內執行某一重複內容,當不滿足時跳出,for迴圈、和while迴圈。

  4、選擇結構:設定一條件,滿足時執行一種程式,不滿足時執行另一種,兩種程式只能執行其中一個。if...esle判斷語句和switch...case語句。

二、數組

  1、分類:一維數組、二維數組、多維陣列

  2、形式:類型說明符+數組名+[常量運算式],例如:int a[20]

  3、特點:

      所有元素是同一類型

      元素內部排列是有順序的

      元素的起始位置是0,例如:int a[10],第一個元素是a[0],最後一個元素是a[9]。

      數組必須宣告類型,也就是有類型說明符

三、與數組和程式結構相關的例子

  1、求一個三位元的各個係數,例如a=1234,分別求出列印出個位、十位、百位、千位係數。

  此程式是由C語言編寫,只有順序結構。

  

#include "stdio.h"void main(){    int a = 1234;    int gw,sw,bw,qw;    gw = a%10;    sw = a/10%10;    bw = a/100%10;    qw = a/1000%10;    printf("個位:%d\n",gw);    printf("十位:%d\n",sw);    printf("百位:%d\n",bw);    printf("千位:%d",qw);        }

 

  2、整數的逆排,例如a=123456,結果要求為:654321

  此程式是用C語言編寫,只有順序結構和while迴圈結構

  

#include "stdio.h"void main(){    int a = 123456;    int b = 0;        while(a>0)    {        b = b*10 + a%10;        a = a/10;    }    printf("b=%d\n",b);       }

 

  分析:這個需要清楚每位的係數如何求,然後逆向計算就得出逆序排列

  3、在一個數組內實現移位迴圈

  分析:移位迴圈就是數值的位置移動,即下一個值賦給上一個位置,最後一個值給第一個位置。

  此程式是由python語言編寫,包括了三大結構。

  

a = []i = 0while i<20:    a.append(i)    i += 1print(a)j = 0while j < 10:    c = a[0]    i = 0    while i<19:        a[i] = a[i+1]        i += 1        if i == 19:            a[19] = c    j += 1    print(a)

 

  4、有十個人,編號從1到10,從第一個人開始報數,從1到3報數,當報到3時,這個人蹲下,以後不再參與報數,依次迴圈,最後剩下的是哪個人?

  分析;此題有三個關鍵知識點:

    第一:十個人的迴圈,如果看成數組,如何讓迴圈在10以內無限次迴圈?

    第二:如何有規律的改變數組內的值,即每迴圈依次就依據判斷條件改變某一位置的值

    第三:如何設定有效退出迴圈條件

  下面是由python語言編寫的程式,python語言中的列表可以看成是C語言中的一維數組,包括了三大程式結構

  

a = [1,2,3,4,5,6,7,8,9,10]i = 0gs0 = 0bs = 0while True:    if a[i] != 0:        bs += 1    if bs == 3:        a[i] = 0        gs0 += 1        bs = 0        print(a)        if gs0 == 9:            break    i += 1    i = i%10i = 0while i < 10:    if a[i] != 0:        print(‘下標是‘,i,‘的值是‘,a[i])        break    i += 1

 

程式結構和數組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.