实验6 数组1

/*输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标*/
#include<stdio.h>
int main(void)
{
    int i,index,n;
    int a[10];

    printf("Enter n:");         /*提示输入n*/
    scanf("%d",&n);
    printf("Enter %d integers:",n);      /*提示输入n个数*/
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    /*找最大值a[index]*/
    index=0;                /*假设a[0]是最大值,即下标为0的元素最大*/
    for(i=1;i<n;i++)
        if(a[i]>a[index])   /*如果a[i]是新的最大值,即下标为i的元素最大*/
            index=i;
        /*输出最大值和对应的下标*/
        printf("max is %d	sub is %d
",a[index],index);

        return 0;
}

 

/*输入n个整数,存入数组a中,分别按正序和逆序输出这些数*/

#include<stdio.h>
int main(void)
{
    int i,n;
    int a[10];        /*定义一个有10个整形元素的数组*/
    printf("输入n:");
    scanf("%d",&n);

    for(i=0;i<n;i++){
        printf("enter a:");
        scanf("%d",&a[i]);
    }
    /*正序输出*/
    for(i=0;i<n;i++){
        printf("数组元素a[%d],元素值%d
",i,a[i]);
    }
    printf("
");
    /*逆序输出*/
    for(i=n-1;i>=0;i--){
        printf("数组元素a[%d],元素值%d
",i,a[i]);
    }
    return 0;
}

/*设计程序用二维数组输出3x2矩阵*/
#include<stdio.h>
int main(void)
{
    int i,j;
    int a[3][2];
    /*输入矩阵*/
    for(i=0;i<3;i++){
        for(j=0;j<2;j++){
            printf("enter a:");
            scanf("%d",&a[i][j]);
        }
    }
    /*输出矩阵*/
    for(i=0;i<3;i++){
        for(j=0;j<2;j++){
            printf("%4d",a[i][j]);
        }
        printf("
");
    }
    return 0;
}

/*定义一维数组arr,他有5个双精度浮点型元素,任意输入5个后,用冒泡排序法,由大到小排序并输出*/
#include<stdio.h>
int main(void)
{
    double arr[5];
    int i,j;
    double x;
    /*输入数组*/
    printf("请输入5个实数:
");
    for(i=0;i<5;i++){
        scanf("%lf",&arr[i]);
    }
    /*这里使用了冒泡排序*/
    for(i=0;i<5;i++){
        for(j=0;j<5-i;j++){
            if(arr[j]<arr[j+1]){
                x=arr[j+1];
                arr[j+1]=arr[j];
                arr[j]=x;
            }
        }
    }
    /*输出数组*/
    for(i=0;i<5;i++){
        printf("%lf
",arr[i]);
    }
    return 0;
}

/*定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵*/
#include<stdio.h>
int main(void)
{
    int arr[3][3];
    int i,j,x,y;
    /*输入矩阵*/
    for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            printf("输入数组arr各元素值:
");
            scanf("%d",&arr[i][j]);
        }
    }
    x=y=0;
    /*求出最小值*/
    for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            if(arr[i][j]<arr
                [x][y]){
                x=i;
                y=j;}
        }
    }
    /*输出矩阵*/
    for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            printf("%4d",arr[i][j]);
        }
        printf("
");
    }
    printf("第%d行%d列最小值是%d
",x,y,arr[x][y]);
    return 0;
}

原文地址:https://www.cnblogs.com/jianghaoyu0129/p/3391706.html