程序设计 2001 年 5 月 1 日
int a[10]={ 0,1,2,3,4,5,6,7,8,9 };
相当于 a[0]=0;a[1]=1...a[9]=9;
C语言对数组的初始化赋值还有以下几点规定:
1) 可以只给部分元素赋初值。
当{ }中值的个数少于元素个数时,只 给前面部分元素赋值。
例如:
int a[10]={0,1,2,3,4};
表示只给 a[0]~a[4]5 个元素赋值,而后 5 个元素自动赋 0 值。
2) 只能给元素逐个赋值,不能给数组整体赋值。
例如给十个元素全部赋 1 值,只能写为:
int a[10]={1,1,1,1,1,1,1,1,1,1};
而不能写为:
int a[10]=1;
3) 如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。
例如:
int a[5]={1,2,3,4,5};
可写为:
int a[]={1,2,3,4,5};
7.1.4 一维数组程序举例
可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合 scanf 函数逐个对
数组元素赋值。
【例 7.4】
main()
{
int i,max,a[10];
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=1;i<10;i++)
if(a[i]>max) max=a[i];
printf("maxmum=%d\n",max);
}
本例程序中第一个 for 语句逐个输入 10 个数到数组 a 中。 然后把 a[0]送入 max 中。
在第二个 for 语句中,从 a[1]到 a[9]逐个与 max 中的内容比较,若比 max 的值大,则把该
下标变量送入 max 中,因此 max 总是在已比较过的下标变量中为最大者。比较结束,输出
max 的值。
【例 7.5】
main()
{
int i,j,p,q,s,a[10];
谭浩强 C 语言程序设计 2001 年 5 月 1 日
printf("\n input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++){
p=i;q=a[i];
for(j=i+1;j<10;j++)
if(q
if(i!=p)
{s=a[i];
a[i]=a[p];
a[
松语文学免费小说阅读_www.16sy.com