• 第十次作业


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

     

    #include <stdio.h>
    int sum(int score[5][3],double ave[]);
    int main()
    {
        int score[5][3]={{10,20,30},{10,20,30},{10,20,30},{10,20,30},{10,20,30}};
        int i,j,sum1,sum2,sum[5];
        double ave1[5],ave2[3];
        printf("        语文   数学   英语    总分     平均分
    ");
        for(i=0;i<5;i++)
        {
            sum1=0;
            for(j=0;j<3;j++)
            {
               sum1+=score[i][j];
               sum[i]=sum1;
            }
               sum[i]=sum1;
               ave1[i]=(double)sum1/3;
        }
        for(j=0;j<3;j++)
        {
            sum2=0;
            for(i=0;i<5;i++)
            {
                sum2+=score[i][j];
            }
            ave2[j]=(double)sum2/5;
        }
        for(i=0;i<5;i++)
        {
            printf("第%d名同学",i+1);
            for(j=0;j<3;j++)
            {
                printf("%d      ",score[i][j]);
            }
            printf("%d     %.1f
    ",sum[i],ave1[i]);
        }
        printf("平均分 ");
        for(i=0;i<5;i++)
        {
            printf("%.1f    ",ave2[i]);
        }
        printf("
    ");
        return 0;
    }

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

    # include <stdio.h>
    # define M 50
    int main()
    {
        int i,j,m,sum1,sum2,sum3,sum4,sum[M][M];
        printf("输入方阵的长度
    ");
        scanf("%d",&m);
        for(i=0;i<m;i++)
        {
           printf("请输入第%d行的数字:
    ",i+1);
           for(j=0;j<m;j++)
           {
               scanf("%d",&sum[i][j]);
           }
        }
        for(i=0;i<m;i++)
        {
          sum1=0;
          for(j=0;j<m;j++)
          {
            sum1+=sum[i][j]; 
          }
          printf("第%d行的和为:%d
    ",i+1,sum1);
        }
        for(j=0;j<m;j++)
        {
          sum2=0;
          for(i=0;i<m;i++)
          {
            sum2+=sum[i][j]; 
          }
          printf("第%d列的和为:%d
    ",j+1,sum2);
        }
        sum3=0;
        sum4=0;
        for(i=0;i<m;i++)
        {
           sum3+=sum[i][i];
           sum4+=sum[i][m-1-i];
        }
        printf("对角线之和为%d %d
    ",sum3,sum4);
        return 0;
    }

    实验总结:二维数组的存储是以一维数组的形式进行存储与输出;

                  注意赋值;

                  下标值应在已定义的数组大小的范围内;

                   注意数组不要越界。

  • 相关阅读:
    洛谷 P2108 学英语
    洛谷 P1010 幂次方
    洛谷 P1101 单词方阵
    洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes
    洛谷 P1553 数字反转(升级版)
    hdu_1348_Wall(凸包)
    hdu_1392_Surround the Trees(凸包)
    hdu_1115_Lifting the Stone(求多边形重心)
    Codeforces Round #354 (Div. 2)_Vasya and String(尺取法)
    hdu_1558_Segment set(并查集+计算几何)
  • 原文地址:https://www.cnblogs.com/zpl0120/p/6156229.html
Copyright © 2020-2023  润新知