实验6 组数1

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

    printf("输入 n:");
    scanf("%d",&n);
    x=0;

    for(i=0;i<n;i++){
        printf("请输入数组a:");
        scanf("%d",&a[i]);
    }
    for(i=1;i<n;i++){
        if(a[i]>a[x]){
            x=i;
        }
    }
    printf("最大值是%d,其数组下标是%d",a[x],x);
    return 0;
}

 

/*输入n个整数,存入数组a中,分别按正序和逆序输出这些数*/
#include<stdio.h>
int main(void)
{
    int i,n;
    int a[10];

    printf("输入n:");
    scanf("%d",&n);

    for(i=0;i<n;i++){
        printf("输入 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;
    double f[5]; //定义浮点型数组
    double t;    
    printf("请输入5个实数:
");  //赋值
    for(i=0;i<5;i++){
    
        scanf("%Lf",&f[i]);
    }        
    printf("
");
    for(j=0;j<5;j++)              //冒泡法,即进行4次循环,其中每个元素循环i-j次
    for(i=0;i<5-j;i++)
        if(f[i]<f[i+1]){          //若第i项小于后一项,则两项调转位置
            t=f[i+1];f[i+1]=f[i];f[i]=t;
        }                
        printf("由大到小排序后:
");
        for(i=0;i<5;i++)    {        //输出排列后的结果

            printf("%Lf",f[i]);    
            printf("
");
        }
        return 0;
}

/* 利用二维数组输出3x2矩阵 */
#include<stdio.h>
int main(void)
{
    int i,n;
    int a[3][2];              //定义一个二维数组   
    printf("enter a:");       //由行到列赋值     
    for(i=0;i<3;i++){
        for(n=0;n<2;n++){            
    scanf("%d",&a[i][n]);
        }
    }
    for(i=0;i<3;i++){           //输出矩阵        
        for(n=0;n<2;n++){
            printf("%6d",a[i][n]);
        }
    printf("
");
    }
    
    return 0;
}

/* 定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵 */
#include<stdio.h>
int main(void)
{
    int i,n;
    int a[3][3];                //定义一个3*的整型二维数组    
    printf("enter a:
");       //为该数组赋值   
    for(i=0;i<3;i++){
        for(n=0;n<3;n++){            
    scanf("%d",&a[i][n]);
        }
    }
    printf("输入数组为:
");
    for(i=0;i<3;i++){
        for(n=0;n<3;n++){
            
            printf("%6d",a[i][n]);
        }
    printf("
");
    }
 int row=0,colum=0,min;        // 定义整型变量row=行,colum=列,min为最小值 
 min=a[0][0];                  //首先认为a[0][0]为最小 
 for(i=0;i<3;i++)
     for(n=0;n<3;n++)
         if(a[i][n]<min){     //如果某元素小于a[0][0]            
             min=a[i][n];     //记下它的行号和列号,使它成为新的最小值          
             row=i;
             colum=n;
         }
         printf("第%d行第%d列最小值是%d",row+1,colum+1,min);    //由于数组是从0开始计数,所以要使它的行和列数加一
         printf("
");
         return 0;
}

原文地址:https://www.cnblogs.com/liyang1995/p/3391722.html