zoukankan      html  css  js  c++  java
  • 第十次作业

    1.有5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。 

    #include <stdio.h>
    #define N 5
    #define M 6
    int main()
    {
        int  i,j;
        double sum,score[M][N];
        for(i=0;i<M-1;i++)
        {
            for(j=0;j<3;j++)
            {
                printf("请输入第%d个学生的成绩
    ",i+1);
                scanf("%lf",&score[i][j]);
            }
        }
        for(i=0;i<M;i++)
        {
            sum=0;
            for(j=0;j<3;j++)
            {
                sum+=score[i][j];        
            }
            score[i][N-2]=sum;
            score[i][N-1]=sum/3;
        }
        for(j=0;j<3;j++)
        {
            sum=0;
            for(i=0;i<M-1;i++)
            {
                sum+=score[i][j];        
            }
            score[M-1][j]=sum/5;
        }
        for(i=0;i<M;i++)
        {
            for(j=0;j<N;j++)
            {
                if(i==M-1&&j>2)
                {
                    break;
                }
                else 
                printf("%8.2f",score[i][j]);
            }
            printf("
    ");
        }
        return 0;
    }

    总结:我没有用函数,在函数那一块还不是很明白,用上函数,主函数都不会写;

     2.求任意方阵每行、每列、两对角线上元素之和。

    #include <stdio.h>
    #define N 100
    int main()
    {
        int square[N][N],i,j,M,sum,a=0;    
        printf("请输入正方形的边长
    ");
        scanf("%d",&M);
        for(i=0;i<M;i++)
        {
            for(j=0;j<M;j++)
            {
                a++;
                square[i][j]=a;
            }
        }
        for(i=0;i<M;i++)
        {
            for(j=0;j<M;j++)
            {
                printf("%2d",square[i][j]);
            }
            printf("
    ");
        }
        for(i=0;i<M;i++)
        {
            sum=0;
            for(j=0;j<M;j++)
            {
                sum+=square[i][j];
            }
            printf("每行的和为%d
    ",sum);
        }
        for(j=0;j<M;j++)
        {
            sum=0;
            for(i=0;i<M;i++)
            {
                sum+=square[i][j];
            }
            printf("每列的和为%d
    ",sum);
        }
        sum=0;
        for(j=0;j<M;j++)
        {
            
            for(i=0;i<M;i++)
            {
                if(i==j)
                {
                    sum=sum+square[i][j];
                }
            }
        }
        printf("左对角线的和为%d
    ",sum);
            sum=0;
        for(j=0;j<M;j++)
        {
        
            for(i=0;i<M;i++)
            {
                if(i+j==M-1)
                {
                    sum=sum+square[i][j];
                }
            }
        }
        printf("右对角线的和为%d
    ",sum);
    
        return 0;
    }

    总结:这个相对简单一点,输入输出的位置一定要想对放在哪个位置。

    知识点

    1,二维数组有行和列,长度必须要定义;

    2,在二维数组里,元素个数=行数*列数;

    3,数组初始化,指的是自己给数组赋值。

    实验总结

    都没有用函数写,函数那一块学的不太到位。还有输出的位置不太会放,好几次都错在了这个上面。

  • 相关阅读:
    Linux下目录的权限详解
    Linux下mknod详解
    迅雷精简版-无广告
    PotPlayer一款简洁好用的播放器
    Linux 信号signal处理机制
    Kruskal算法求最小生成树
    Prim算法求权数和,POJ(1258)
    Prim算法求最大权,POJ(2485)
    Prim算法
    DP找最优配置,(POJ1018)
  • 原文地址:https://www.cnblogs.com/web5217/p/6139188.html
Copyright © 2011-2022 走看看