• 第十次作业


    一、实验内容      

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

    #include<stdio.h>
    #define N 5
    #define M 5
    void readScore(int score[N][M]);
    void printScore(int score[N][M]);
    void sumScore(int score[N][M],int sum[M]);
    void aveScore1(int score[N][M],double ave[N]);
    void aveScore2(int score[N][M],double ave[M]);
    int main()
    {
        int score[N][M]={0},j;
        double ave[M];
        readScore(score);
        printf("       语文	数学	英语	总分	平均分
    "); 
        printScore(score);
        printf("平均分  ");
        aveScore2(score,ave);
        for(j=0;j<3;j++)
        {
            printf("%.2f	",ave[j]);    
         } 
        return 0;        
    }
    void readScore(int score[N][M])
    {
        int i,j;
        for(i=0;i<N;i++)
        {
            printf("请输入第%d个人成绩
    ",i+1);  
            for(j=0;j<3;j++)
            {
                scanf("%d",&score[i][j]);
            }
        }
    }
    void printScore(int score[N][M])
    {
         int i,j,sum[N]={0};
         double ave[N]={0};
         sumScore(score,sum);
         aveScore1(score,ave);
         for(i=0;i<N;i++)
         {
             for(j=0;j<3;j++)
            {
                printf("	%d",score[i][j]);
            }
            printf("	%d",sum[i]);
            printf("	%.2f",ave[i]);
            printf("
    ");
          } 
    }
    void sumScore(int score[N][M], int sum[M])
    {
        int i,j,h;
         for(i=0;i<N;i++)
         {
            h=0;
            for(j=0;j<3;j++)
            {
                h+=score[i][j];
            }
            sum[i]=h;
         }
    }
    void aveScore1(int score[N][M],double ave[N])
    {
        int i,j,h;
         for(i=0;i<N;i++)
         {
            h=0;
            for(j=0;j<3;j++)
            {
                h+=score[i][j];
            }
            ave[i]=(double)h/3;
         }    
    }
    void aveScore2(int score[N][M],double ave[M])
    {
        int i,j,h;
         for(j=0;j<3;j++)
         {
            h=0;
            for(i=0;i<N;i++)
            {
                h+=score[i][j];
            }
            ave[j]=(double)h/N;
         }    
    }

                            

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

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

    实验总结:

    1.二维数组中元素个数=行数*列数。

    2.在声明函数的二维数组形参时,可以省略第一维的长度,但不能省略数组第二维的长度。

    3.二维数组的存储是以一维数组的形式进行存储与输出。

    4.注意数组越界问题

    5.定义变量时要分清是int型还是double型,如果需要赋初值的一定记得赋初值。

  • 相关阅读:
    CUDA ---- 线程配置
    IOC/DI-控制反转----AOP-面向切面编程-----SpringMvc框架
    @RequestMapping与@PostMapping等新注释的curd操作
    SSM框架整合
    webapp下jsp文件报错
    基于maven使用IDEA创建多模块项目
    CURD
    Linux终端常用命令
    pom文件-常用插件jar包
    application常用配置
  • 原文地址:https://www.cnblogs.com/zhaojingwen123/p/6159993.html
Copyright © 2020-2023  润新知