字体
第(6/6)页
关灯
   存书签 书架管理 返回目录
程序设计               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
上一页 目录 下一章