一维数组可以保存一组类型相同,意义相同的数据,方便对其输入,输出,计算等
一.定义
1.格式
类型标识符 数组名[常量表达式]
eg:
int a[20]
#define b 5
int a[b]
char c[100]
2.注意
所谓常量表达式,可以是整形,符号,但不能是变量
数组元素的下标从0开始,如int a[5]表示a[0],a[1],a[2],a[3],a[4],共5项
3.存放
占用一段连续的内存单元,数组名表示数组所占内存区域的第一个元素的地址
int占4字节,char占1字节,float占4字节,double占8字节
二.引用
1.形式
数组名[下标]
int a[20];
for(i=0;i<20;i++)
scanf("%d",&a[i]) /*对a[0],a[1]...a[19]分别赋值*/
输出同理
2.注意
下标可以是整形常量a[8],整形变量a[i],整形表达式a[2+3*4]
三.初始化
1.对数组的全体元素指定初值, 初值用 { } 括起来, 数据之间用
逗号分开
int a[5]={1,3,5,7,9};
2.对数组中部分元素指定初值,其余元素系统自动赋0
int a[5]={1,3,5};
3.对全部元素赋初值,可以不指定长度
int a[]={1,5,9}; /*长度为3*/
四。例
【问题描述】有n个整数,把它们存放到一个一维数组中(下标从0开始),输出最大数和它的下标。
【输入形式】输入数据有多组,每组占一行,第一个数n(10<=n<=20)表示该组测试数据的个数,后面跟有n个整数。若n=0,表示输入结束,不需处理。
【输出形式】对于每组输入,输出单独占一行,输出包括最大数及其下标,中间用空格分隔。
【样例输入】
12 5 3 15 4 12 54 32 53 42 20 4 23
10 1 2 3 4 5 6 7 8 9 10
0
【样例输出】
54 5
10 9
#include<stdio.h>
int main()
{
int n,i,a[20],max1,max2;
while(scanf("%d",&n),n!=0)
{
scanf("%d",&a[0]);max1=a[0];max2=0;
for(i=1;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]>max1){max1=a[i];max2=i;}
}
printf("%d %d\n",max1,max2);
}
return 0;
}
五
今天看到的歇后语
癞蛤蟆找青蛙,长得丑玩的花
杰瑞舔猫逼,没事找刺激
雅俗共赏=.=