zoukankan      html  css  js  c++  java
  • 实验6 数组1

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

    /*输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标*/
    
    #include<stdio.h>
    int main(void)
    {
        int i,index,n;                   
        int a[10];                           /*定义1个数组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的n个元素a[0]~a[n-1]*/
        
        /*找最小值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;
    }

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

    /*输入n个整数,存入数组a中,分别按正序和逆序输出这些数;*/
    
    #include<stdio.h>
    int main(void)
    {
        int i,n;                   
        int a[10];                           /*定义1个数组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的n个元素a[0]~a[n-1]*/
        
        printf("正序输出一维数组a
    ");                   /*正序输出结果*/
        for(i=0;i<n;i++){
            printf("数组元素a[%d],元素值%d
    ",i,a[i]);
        }
         printf("
    ");
         printf("逆序输出一维数组a
    ");                     /*逆序输出结果*/
            for(i=n-1;i>=0;i--){
            printf("数组元素a[%d],元素值%d
    ",i,a[i]);
            }
            
        return 0;
    }

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

    #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++){                 /*按矩阵的形式输出a*/
                for(j=0;j<2;j++)
                    printf("%4d",a[i][j]);
                printf("
    ");                      /*换行*/
            } 
            return 0;
    }

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

    /*定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵*/
    
    #include<stdio.h>
    int main(void)
    {
        int i,j,col,row;                   /*用变量row和col分别记录最小值得行下标和列下标*/           
        int a[3][3];                        /*定义一个二维数组a*/
        
        /*将输入的数存入二维数组*/
          printf("Enter 9 integers:
    ");         /*提示输入9个数*/                       
        for(i=0;i<3;i++)
            for(j=0;j<3;j++)
                scanf("%d",&a[i][j]);  
            
         /*按矩阵的形式输出二维数组a*/
            for(i=0;i<3;i++){                
                for(j=0;j<3;j++)
                    printf("%4d",a[i][j]);
                printf("
    ");                     
            } 
    
         /*遍历二维数组,找出最小值a[row][col]*/
            row=col=0;                           /*先假设a[0][0]是最小值*/
            for(i=0;i<3;i++)                           /*如果a[i][j]比假设值小*/
                for(j=0;j<3;j++)                       /*再假设a[i][j]是新的最小值*/
                    if(a[i][j]<a[row][col]){
                        row=i;
                        col=j;
                    }
                    printf("min=a[%d][%d]=%d
    ",row,col,a[row][col]);
    
                    return 0;
    }
    
            

  • 相关阅读:
    emulate sh
    postmaster.c 中的 ListenAddresses
    PostgreSQL的postmaster的fork动作验证
    NotifyMyFrontEnd 函数背后的数据缓冲区(三)
    对${ZSH_VERSION+set}的验证
    微软正准备一个简易的Rootkit清除方案 助用户打补丁 狼人:
    创新与安全:云计算的两只跷跷板 狼人:
    苹果禁止iPhone黑客访问App Store应用商店 狼人:
    春节不回家 单身留守族“拼饭”“拼玩” 狼人:
    僵尸侵入全球 袭击者或为东欧黑帮 狼人:
  • 原文地址:https://www.cnblogs.com/simple9495/p/3405562.html
Copyright © 2011-2022 走看看