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

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

    #include<stdio.h>
    int main(void)
    {
        int i,index,n;
        int a[10];                                           //定义一个有10个整型元素的数组a//
        printf("Enter n:");                                  //提示输入n//
        scanf("%d",&n);
        printf("Enter %d integers:",n);                      //提示输入n个数//
        for(i=0;i<n;i++)                                     //有限循环,保证输入的数的个数不超过定义的n//
            scanf("%d",&a[i]);
        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中,分别按正序和逆序输出这些数。

    #include<stdio.h>
    int main(void)
    {
        int i,n;
        int a[10];                                    //定义一个有10个整型元素的数组a//
        printf("输入 n:");                             //提示输入n//
        scanf("%d",&n);
        printf("输入 %d 个整数:",n);                   //提示输入n个整数//
        for(i=0;i<n;i++)                              //有限循环,数组排序//
            scanf("%d",&a[i]);
    
        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]);  //输出结果前缀//
        printf("
    ");
    
        return 0;
    }

     

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

    #include<stdio.h>
    void swap2(double*,double*);
    void bubble(double d[]);                        //定义冒泡排序法?//
    int main(void)
    {
        double d[5];
        int i;
    
        printf("请输入5个实数:
    ");
        for(i=0;i<5;i++)
            scanf("%lf",&d[i]);
        bubble(d);
        printf("从大到小排序后:
    ");
        for(i=0;i<5;i++)
            printf("%lf
    ",d[i]);
    
        return 0;
    }
    void bubble(double d[])                           //开始冒泡排序//
    {
        int i,j,t;
        for(i=0;i<5;i++)                              //外部循环//
            for(j=0;j<5-i;j++)                        //内部循环//
                if(d[j]<d[j+1]){                      //比较两个元素的大小//
                    t=d[j];d[j]=d[j+1];d[j+1]=t;      //如果前一个元素小,则交换//
                }
    }

    好不容易开始运行了,但是后面三个数小数点后的数字不知道怎么就被吞掉了!!!

    请告诉我这是为什么!!!

    呕心沥血半个小时啊!把所有的 int a[] 替换成 double d[] 不容易啊我 QAQ

    4、设计一个程序,利用二维数组输出3x2矩阵。

    #include<stdio.h>
    int main(void)
    {
        int i,j;
        int a[3][2];                         //定义一个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;
        int a[3][3];
    
        printf("输入数组arr各元素值:
    ");
        for(i=0;i<3;i++)
            for(j=0;j<3;j++)
                scanf("%d",&a[i][j]);
    
            printf("输入数组为:
    ");
    
    for(i=0;i<3;i++){ for(j=0;j<3;j++) printf("%4d",a[i][j]); printf(" "); } return 0; }
  • 相关阅读:
    P3390 【模板】矩阵快速幂
    P1082 同余方程
    SQL Server 窗口函数详解:OVER()
    SQL SERVER与C#数据类型对照表
    C# TextBox猜想输入和历史记录输入
    C#操作SQL Server数据库
    SQL Server 一句Sql把表结构全部查询出来
    SQL Server sp_executesql介绍和使用
    SQL Server关于WITH CUBE、WITH ROLLUP和GROUPING使用
    SQL Server 关于CROSS APPLY 和 OUTER APPLY应用
  • 原文地址:https://www.cnblogs.com/kiero3314/p/3391826.html
Copyright © 2011-2022 走看看