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

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

    /*找出数组中的最大值并输出它所对应的下标*/
    #include<stdio.h>
    int main(void)
    {
        int i,max,n;
        int a[10];
    
        printf("输入 n:");
        scanf("%d",&n);
        printf("请输入5个整数:
    ",n);    /*提示输入n个数*/
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        max=0;                          /*假设a[0]是最大值,及下标为0的元素最小*/
        for(i=1;i<n;i++)
            if(a[i]>a[max])            /*如果a[i]比假设的最大值还大*/
                max=i;                 /*再假设a[i]是新的最大值,及下标为i的元素最大*/
        /*输出最小值和对应的下标*/
        printf("最大值是:%d
    其数组下标是%d
    ",a[max],max);
    
        return 0;
    }

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

    /*按正序、逆序输出数据*/
    #include<stdio.h>
    int main(void)
    {
        int i,n;
        int a[5];
        printf("输入n:");   /*提示输入数的个数*/
        scanf("%d",&n);
        printf("输入5个整数:",n);
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
    
        printf("正序输出一维数组a:");  /*提示输出数组*/
        for(i=n+1;i>=0;i++){
            printf("%d  ",a[i]);
        printf("
    ");
        }
    
        printf("逆序输出一维数组a:");
        for(i=n-1;i>=0;i--){
            printf("%d",a[i]);
        printf("
    ");
        }
    
        return 0;
    }

     3、定义一维数组arr,他有5个双精度浮点型元素,任意输入5个后,用冒泡排序法,由大到小排序并输出:

    /*用冒泡排序法由大到小排列输出数据*/
    #include<stdio.h>
    main()
    {
        double arr[6];    /*定义arr[0]...arr[10]*/
        int i,j,t;
        printf("请输入5个实数:
    ");
        for(i=1;i<6;i++)
        scanf("%0.2f",&arr[i]);    /*输入5个数分别赋给arr[1]...arr[10],arr[0]未用*/
        printf("
    ");
    
        for(j=1;j<=4;j++)     /*外循环5-1=4次,用j做循环变量*/
        for(i=1;i<=5-j;i++)    /*内循环从1到5-j(分别为4...1)*/
        if(arr[i]<arr[i+1])    /*完成相邻元素比较,将小数放后,大数放前*/
        {
            t=arr[i];
            arr[i]=arr[i+1];
            arr[i+1]=t;
        }
        printf("有大到小的顺序是:
    ");
        for(i=1;i<=5;i++)
            printf("%.6f",arr[i]);
    }

    问题:这是神马情况啊?????

    4、设计一个程序,利用二维数组输出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++)  /*循环输入三列*/
                a[i][j]=i+j;
    
        /*提示输出数组*/
        for(i=0;i<3;i++){
            for(j=0;j<2;j++)
                printf("%4d",a[i][j]);
            printf("
    ");
        }
    
        return 0;
    }

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

    /*找最小值,输出行列下标,输出矩阵*/
    #include<stdio.h>
    int main(void)
    {
        int i,j,r=0,c=0,min;
        static int a[3][3]={{12,21,43},{34,10 ,56},{76,12,78}};/*定义一个数组变量,并赋值*/
    
    
        /*找出最小值*/
        min=a[0][0];
        for(i=0;i<=2;i++)        
            for(j=0;j<=2;j++)
        if(a[i][j]<min)
        {
            min=a[i][j];    /*输出最小值*/
            r=i;
            c=j;
        }
        printf("min=%d,r=%d,c=%d
    ",min,r,c);
    
        return 0;
    }
          

  • 相关阅读:
    【日记】200617 今天开始写日记了
    近期未复现比赛汇总
    2021NSCTF RE WP
    2021国赛CISCN 初赛 部分REwriteup
    对流氓APP——一份礼物.apk的逆向分析
    RE之攻防世界 maze
    RE-攻防世界 logmein
    RE-攻防世界 T4 simple-unpack
    安天逆向工程课程 U1
    RE-攻防世界 simple-unpack
  • 原文地址:https://www.cnblogs.com/zhangling213549/p/3391844.html
Copyright © 2011-2022 走看看