【实验6】数组1

1、输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标。

#include<stdio.h>
int main()
{
    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]);
    index=0; /*假设下标为0的元素最小*/
    for(i=1;i<n;i++)
        if(a[i]<a[index])/*如果a[i]比假设的最小值还小*/
            index=i;/*再假设a[i]是新的最小值,即下标为i的元素最小*/
        /*输出最小值和下标*/
    printf("min is %d	sub is %d
",a[index],index);

    return 0;
}

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

#include<stdio.h>
int main(void)
{
    int i,index,k,n,temp;
    int a[10];/*定义1个数组啊,它有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[0],a[1]...a[9]*/
    /*对n个数排序*/
    for(k=0;k<n-1;k++){
        index=k;/*index存放最小的值*/
        for(i=k+1;i<n;i++)/*寻找最小值*/
            if(a[i]<a[index]) index=i;
            temp=a[index];
            a[index]=a[k];
            a[k]=temp;/*交换,将最小值与第一位数交换*/
    }
    printf("After sorted:");/*输出数组*/
    for(i=0;i<n;i++)
            printf("%d",a[i]);
    printf("
");
    printf("After sorted");/*正排序*/
    for(i=n-1;i>=0;i=i-1)
        printf("%d",a[i]);/*逆排序*/
    printf("
");

    return 0;
}

 3、设计一个程序,利用二维数组输出3x2矩阵,程序运行结果如下:

#include<stdio.h>
int main(void)
{
    int i,j;
    int a[3][2];
    /*将输入的数存入二维数组*/
    printf("Enter 6 integers:
");/*提示输入6个数*/
    for(i=0;i<3;i++)
        for(j=0;j<2;j++)
            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;
}

    

 4.定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵
运行结果

#include<stdio.h>
int main(void)
{
    int col,row,i,j;
    int a[3][3];
    /*将输入的数存入二维数组*/
    printf("Enter 9 integers:
");/*提示输入6个数*/
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            scanf("%d",&a[i][j]);
    /*按矩阵的形式输出二维数组*/
    for(i=0;i<3;i++){
        for(j=0;j<3;j++)
            printf("%4d",a[i][j]);
        printf("
");
        }
row=col=0;/*设定a[0][0]是最大值*/
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(a[i][j]<a[row][col]){/*如果a[i][j]比假设的大*/
    row=i;
    col=j;/*在假设a[i][j]是新的最大值*/
}
printf("min=a[%d][%d]=%d
",row,col,a[row][col]);

return 0;
}

原文地址:https://www.cnblogs.com/ly1102385159/p/3391751.html