数组0.1

一维数组

数组的运用场合

当我们需要涉及的变量特别多,光想名字都要想半天
所以引入数组
Q: (1)在程序中怎样存放100个学生的成绩?
(2)定义100个整型变量吗?
(3)C语言中的解决方案是……?
A: (1)存储学生成绩用整型数组 mark[100];
(2)存储一行文字用字符数组 str[200];
(3)存储一个4*6的矩阵用二维整型数组 a[4][6];

数组的定义

数组定义的一般形式:
类型 数组名[常量表达式];
img

float a[0]; /*数组大小为0没有意义*/
int b(2)(3);	/*不能使用圆括号*/
int k, a[k];	/*不能用变量说明数组大小,C99之后可以*/
常见书写:    
int n;
    scanf("%d", &n);
    int a[n];

数组的初始化

            int a[5] = { 12, 34, 56 ,78 ,9 };
            int a[5] = { 12, 34 };
            int a[5] = { 0 };
            int a[] = { 11, 22, 33, 44, 55 };

数组的输入与输出

e.g.

Int a[5],i;

输入

for (i=0;i<=4;i++)
{
   scanf("%d",&a[i]);
}

输出

for (i=0;i<=4;i++)
{
   printf("%d ",a[i]);
}

程序实例

用户输入一系列数字,直到-1结束,找到平均数,输出大于平均数的所有数字

#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){
		int i;
		double average = sum / cnt;
		/*遍历数组里的元素*/
		for(i=0;i<cnt;i++){
			if(number[i]>average){
 				printf("%lf\n",average);
				printf("%d ",number[i]);//数组里的元素
			}
		}
	}
	return 0;
}
//存在安全隐患【可能数组越界】
posted @ 2024-09-30 23:17  GJ504b  阅读(3)  评论(0编辑  收藏  举报