实验 6 数组1

/*找出数组的最小值和它所对应的下标*/
#include<stdio.h> int main(void) { int i,index,n; int a[10]; /*数组长度上限是10*/ printf("enter 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]比假设的最小值大*/ index=i; /*再假设a[i]是新的最大值,即下标为i的元素最小*/ printf("max is %d sub is %d ",a[index],index); return 0; }

/*分别按正序和逆序排列n个数*/
#include<stdio.h>
int main(void)
{
    int i,n,a[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;
}

/*按矩阵的形式输出二维数组*/
#include<stdio.h〉
int main(void)
{
    int i,j; 
    int a[3][2];          /*定义1个二维数组a*/
    for(i=0;i<3;i++)          /*行下标是外循环的循环变量*/
    for(j=0;j<2;j++)       /*列下标是内循环的循环变量*/
    a[i][j]=i+j;             /*给数组元素赋值*/
    for(i=0;i<3;i++){       /*针对所有行的循环*/
    for(j=0;j<2;j++)      /*输出第i行的所有元素*/
    printf("%4d",a[i][j]); 
    printf("
");
    
}
return 0;
}

/*选择排序法*/
#include<stdio.h>
int main(void)
{
    int i,index,k,n,temp;
    int a[10];
    printf("enter n:");
    scanf("%d",&n);
    printf("enter %d integers:");
    for(i=0;i<n;i++)      /*将输入数依次赋给数组a的n个元素a[0]~a[n-1]*/
scanf("%d",&a[i]); for(k=0;k<n-1;k++){ index=k; 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("从大到小:"); for(i=0;i<n;i++) printf("%d",a[i]); printf(" "); return 0; }
原文地址:https://www.cnblogs.com/zy1235/p/3404930.html