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

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

    #include<stdio.h>
    #define N 5
    #define M 6
    #define L 3
    int main()
    {
        int i,j,sumi,sumii,flag;
        double score[N][M]={{1,90,80,70},{2,82,75,95},{3,66,78,90},{4,68,95,88},{5,64,82,96}},average[L]={0};
        printf("       语文  数学  英语  总 分  平均分
    ");
        for(i=0;i<5;i++)
        {
            sumi=0;
            for(j=1;j<6;j++)
            {     
                sumi+=score[i][j];
    
            }
            score[i][4]=sumi;
            score[i][5]=(double)sumi/3;
        }
        for(i=0;i<5;i++)
        {    
            for(j=0;j<6;j++)
            {
                printf("  % .lf ",score[i][j]);
            }
            printf("
    ");
        }
        flag=0;
        for(j=1;j<4;j++)
        {
            sumii=0;
    
            for(i=0;i<5;i++)
            {
                sumii+=score[i][j];
            }
            average[flag]=(double)sumii/5;
            flag++;
        }
        printf("平均分 ");
        for(i=0;i<3;i++)
        {
            printf("%  .lf   ",average[i]);
        }
        return 0;
    } 

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

    #include<stdio.h>
    #define N 10
    #define M 10
    int main()
    {
        int series[N][M]={{1,2,3},{4,5,6},{7,8,9}},i,j,sum1,sum2,sum3=0,sum4=0;
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                printf("%5d",series[i][j]);
            }
            printf("
    ");
        }
        for(i=0;i<3;i++)
        {
            sum1=0;
            for(j=0;j<3;j++)
            {
                sum1+=series[i][j];
            
            }
            printf("第%d行的和是%d
    ",i+1,sum1);
        }
        for(j=0;j<3;j++)
        {
            sum2=0;
            for(i=0;i<3;i++)
            {
                sum2+=series[i][j];
            
            }
            printf("第%d列的和是%d
    ",j+1,sum2);
        }
    
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                if(j==i)
                {
                    sum3+=series[i][j];
                }
            }
        
        }
        printf("由左至右的对角线之和是:%d
    ",sum3);
        for(j=2;j>=0;j--)
        {
            for(i=0;i<3;i++)
            {
                if(i+j==2)
                sum4+=series[i][j];
            }
        
        }
        printf("由右至左的对角线的和为:%d
    ",sum4);
        return 0;
    }

    实验总结:开始的时候,我想把数组的平均分还有总分直接存好,最后直接输出二维数组即可,可是后来考虑到每学科

    的平均分需要有汉字提示,所以就又用了一个一维数组,格式对齐挺烦的,我没有做万年历的那个附加题,所以有些没

    头绪,然后为了看起来更清楚,我把平均分没有保留小数位,呃呃呃,还算整齐。不过,有一个事情挺搞笑,我以为二

    维数组输出的时候就是表格形式,结果,是我想多了······

    知识点总结:1.二维数组的赋值和一维数组有相似的地方,但应注意,定义二维数组时,第一维的长度可以不指定,但

    第二维的长度不能省。

    2.C语言中二维数组是按行存储的。

    3.a[6][7]——>第一个方括号表示行,第二个表示列。

  • 相关阅读:
    微信公众号,图片预览功能 有单个图片,
    MUI
    MUI学习01-顶部导航栏
    php验证18位身份证,准到必须输入正确的身份证号,
    微信sdk 图片上传 两种方法 上传一张显示一张 并附带微信图片放大功能和删除功能
    jQuery实现限制input框 textarea文本框输入字符数量的方法
    js jq 手机号实现(344) 附带删除功能 jq 实现银行卡没四个数加一个空格 附带删除功能
    山东省2016acm省赛
    East Central North America Region 2015
    North America Qualifier (2015)
  • 原文地址:https://www.cnblogs.com/lmlmlm/p/6159275.html
Copyright © 2011-2022 走看看