• 第十次作业


    一、实验内容      

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

    #include <stdio.h>
    #define M 5
    #define N 3
    void readscore(int score[M][N]);
    int sumforstud(int score[M][N],int sum[]);
    double aveforstud(int score[M][N],double ave[]);
    double aveforcourse(int score[M][N],double ave[]);
    int main()
    {
        int score[M][N];
        double ave[M];
        int sum[M];
        int i,j;
        readscore(score);
        sumforstud(score,sum);
        aveforstud(score,ave);
        printf("语文	数学	英语	总分	平均分
    ");
        for(i=0;i<M;i++)
        {
            for(j=0;j<N;j++)
            {
                printf(" %d	",score[i][j]);
            }
            printf("%d	",sum[i]);
            printf("%.2f	",ave[i]);
            printf("
    ");
        }
        aveforcourse(score,ave);
        for(j=0;j<N;j++)
        {
            printf("%.2f	",ave[j]);
        }
        printf("
    ");
        return 0;
    }
    //输入 
    void readscore(int score[M][N])
    {
        int i,j;
        for(i=0;i<M;i++)
        {
            for(j=0;j<N;j++)
            {
                switch(j)
                {
                    case 0:
                           printf("输入第%d个学生的语文成绩:
    ",i+1);
                           scanf("%d",&score[i][j]);
                           continue;
            
                    case 1:
                           printf("输入第%d个学生的数学成绩:
    ",i+1);
                           scanf("%d",&score[i][j]);
                           continue;
                          
                    case 2:
                           printf("输入第%d个学生的英语成绩:
    ",i+1);
                           scanf("%d",&score[i][j]);
                           continue;
                           
                }
            }
        }
    }
    //每个学生的总分 
    int sumforstud(int score[M][N],int sum[])
    {
        int i,j;
        for(i=0;i<M;i++)
        {
            sum[i]=0;
            for(j=0;j<N;j++)
            {
                sum[i]=sum[i]+score[i][j];
            }
        }
    }
    //每个学生的平均分 
    double aveforstud(int score[M][N],double ave[])
    {
        int i,j,sum;
        for(i=0;i<M;i++)
        {
            sum=0;
            for(j=0;j<N;j++)
            {
                sum=sum+score[i][j];
            }
            ave[i]=(double)sum/N;
        }
    }
    //各科平均分 
    double aveforcourse(int score[M][N],double ave[])
    {
        int i,j,sum;
        for(j=0;j<N;j++)
        {
            sum=0;
            for(i=0;i<M;i++)
            {
                sum=sum+score[i][j];
            }
            ave[j]=(double)sum/M;
        }
    }

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

    #include<stdio.h>
    #define N 6
    #define M 6
    int main()
    {
        int i,j,a[M][N],sum=0,diagonalsum1=0,diagonalsum2=0;
        for(i=0;i<M;i++)
        {
            for(j=0;j<N;j++)
            {
                a[i][j]=j+1;
                printf(" %d",a[i][j]);
            }
            printf("
    ");
        }
        for(i=0;i<M;i++)
        {
            sum=0;
            for(j=0;j<N;j++)
            {
                sum=sum+a[i][j];
            }
            printf("每%d行的和为%d
    ",i+1,sum);
        }
        for(j=0;j<N;j++)
        {
            sum=0;
            for(i=0;i<M;i++)
            {
                sum=sum+a[i][j];
            }
            printf("每%d列的和为%d
    ",j+1,sum);
        }
        diagonalsum1=0;
        for(i=0;i<M;i++)
        for(j=0;j<N;j++)
        if(i+j==M)
        {
            diagonalsum1=diagonalsum1+a[i][j];
        }
        printf("对角线一的和为%d",diagonalsum1);
        diagonalsum2=0;
        for(i=0;i<M;i++)
        for(j=0;j<N;j++)
        if(i==j)
        {
            diagonalsum2=diagonalsum2+a[i][j];
        }
        printf("对角线二的和为%d",diagonalsum2);
        return 0;
    }

    二:实验总结

    1:再给sum赋初值时没有付对,没有弄清怎样来进行for循环;

    2:二维数组要注意是两层循环;

    3:在用函数写程序没有弄不清主函数下面写那些输入的一些变量

    还需要再加强一下怎样用函数来写程序

  • 相关阅读:
    linux下安装nginx
    阿里云CentOS系统配置iptables防火墙
    没用私服,自己安装下本地jar包,制作坐标
    Redis加入Centos Linux开机启动
    CentOS6.5安装redis(3.0.3)
    Spring Boot 第一个demo
    JDK下载与安装
    IDEA-Maven下载及安装
    项目注意:
    idea项目Tomcat 插件 运行报错
  • 原文地址:https://www.cnblogs.com/yangchaoge1020/p/6142772.html
Copyright © 2020-2023  润新知