C语言学习笔记(浙大翁恺版)第八周(数组部分)

8.1.1 初试数组

在循环中我们有一个例子:计算用户输入的整数平均数,以-1结尾。

当时的方法是:读入用户输入的每个数字,统计输入的个数,然后用输入的数字之和除以个数。

我们用累加的方法得到最后的和,不需要记录每个数字是多少。

那么问题做些更改,又该怎么做?

容易知道,我们需要记录每个数字,那么如何记录很多数?

  • int num1,num2....?

我们需要一种新的手段:数组

int number[100];
scanf("%d",&number[i]);

定义了一个变量叫number,这个变量是一个数组,这个数组的每个单元都是一个int,数组的大小是100(可以放100个int)

#include <stdio. h>
int main()
{
    int x;
    double sum = 0;
    int cnt = 0;
    int number [100] ;//定义数组
    scanf("%d", &x);
    while(x!=-1){
        number [cnt] = x;//对数组里的元素赋值
        sum+=X;
        cnt ++ ;
        scanf("%d", &x);
        }
    if(cnt>0){
        printf ("%f\n", sum/cnt);
        int i;
        for ( i=0; i<cnt; i++ ){
            if ( number [i] > sum/cnt )//使用数组元素 
            {
            printf("%d\n",number[i]);//遍历数组
            }
     }
}
return 0;
}

PS:遍历就是将数组里的每个元素都过一遍或者规定的范围内过一遍

这个程序利用了数组来完成计算平均值并且输出比平均值大的数字,然而这个程序中存在安全隐患——数组的大小从一开始就固定,这个问题我们下节再说

8.1.2 数组的使用

定义数组

上一节我们定义了一个数组,它的格式是这样的:

  • <类型>变量名称[元素数量]
    • 如int grades[100]
    • double weight [20]
  •  需要注意的是:元素数量必须是整数
  • C99之前元素数量必须在编译时确定,C99之后可以用变量来定义数组大小

数组的含义 

  • 是一种容器(放东西的东西) ,有一些特点:
    • 所有的元素都是同一类型,在定义数组时就定义好了
    • 一旦创建就不能改变其大小
    • 在计算机内部内存中数组中的元素是按照顺序排列的

编程语言可提供容器能力的大小和语言能力大小相挂钩

如:

int a[10];
  • 一个int类型的数组
  • 其中有10个单元,依次为a[0],a[1],a[2]...a[9]
  • 每个单元都是一个int型变量

                
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值