一维数组
数组的运用场合
当我们需要涉及的变量特别多,光想名字都要想半天
所以引入数组
Q: (1)在程序中怎样存放100个学生的成绩?
(2)定义100个整型变量吗?
(3)C语言中的解决方案是……?
A: (1)存储学生成绩用整型数组 mark[100];
(2)存储一行文字用字符数组 str[200];
(3)存储一个4*6的矩阵用二维整型数组 a[4][6];
数组的定义
数组定义的一般形式:
类型 数组名[常量表达式];
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("%d\n",average);
printf("%d ",number[i]);//数组里的元素
}
}
}
return 0;
}
//存在安全隐患【可能数组越界】
标签:cnt,0.1,sum,number,int,数组,100
From: https://www.cnblogs.com/GJ504b/p/18442544