程序结构和数组

一、程序结构

  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 = 0
while i<20:
    a.append(i)
    i += 1
print(a)

j = 0
while 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 = 0
gs0 = 0
bs = 0
while 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%10
i = 0
while i < 10:
    if a[i] != 0:
        print('下标是',i,'的值是',a[i])
        break
    i += 1

猜你喜欢

转载自www.cnblogs.com/thoughtful-actors/p/9477887.html
今日推荐