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

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

    #include <stdio.h>
    #define M 5//五个同学 
    #define N 3//三门成绩
    void sumscore(int score[M][N],int sum[]);//每个学生的总分
    void average(int score[M][N],double ave[]);//每个学生的平均分 
    void average1(int score[M][N],double ave[]); //各科成绩的平均
    int main()
    {
        int score[M][N]={{80,81,82},{83,84,85},{90,91,92},{93,94,95},{96,97,98}},i,j,sum[M]={0};
        double ave[M]={0},ave1[N]={0};
        sumscore(score,sum);
        average(score,ave);
        average1(score,ave1);
        printf("	语文 	数学 	英语 	总分 	平均分
    ");
        for(i=0;i<M;i++)
        {
            for(j=0;j<N;j++)
            {
                printf("	%2d",score[i][j]);
            }
            printf("	%2d",sum[i]);
            printf("	%.2f",ave[i]);
            printf("
    ");
         } 
         printf("
    平均分");//各科成绩平均分
         for(j=0;j<N;j++)
         {
             printf("	%.2f",ave1[j]);
          } 
          printf("
    ");
          return 0;
     } 
     void sumscore(int score[M][N],int sum[])//每个学生的总分 
     {
         int i,j,sum1;
         for(i=0;i<M;i++)
         {
          sum1=0;
          for(j=0;j<N;j++)
          {
             sum1+=score[i][j];
          } 
          sum[i]=sum1;
         }
     }
     void average(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+=score[i][j];
          } 
          ave[i]=(double)sum/N;
         }
     }
    void average1(int score[M][N],double ave[M])    //各科成绩求平均 
    {
        int j,i,sum2;
        for(i=0;i<N;i++)
        {    
            sum2=0;
            for(j=0;j<M;j++)
            {
                sum2+=score[i][j];
            }
            ave[i]=(double)sum2/M;
        }
    }

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

    #include<stdio.h>
    #define M 3
    #define N 3
    int main()
    {
        int num[M][N],i,j,x,y,sum1,sum2,sum3,sum4;
        printf("请输入任意九个数字
    ");
        for(i=0;i<M;i++)
        {
            for(j=0;j<N;j++)
            {
                scanf("%d",&num[i][j]);
            }
        }
        printf("方阵为:
    ");
        for(i=0;i<M;i++)
        {
            for(j=0;j<N;j++)
            {
                if(j%3==0)
                {
                    printf("
    ");
                }
                printf("%3d",num[i][j]);
            }
        }
        printf("
    ");
        for(x=0;x<M;x++)
        {
            sum1=0;
            sum2=0;
            for(y=0;y<N;y++)
            {
                sum1=sum1+num[x][y];
                sum2=sum2+num[y][x];
            }
            printf("第%d行的元素之和为%d
    ",x+1,sum1); 
            printf("第%d列的元素之和为%d
    ",y+1,sum2);
        }
        sum3=num[0][0]+num[1][1]+num[2][2];
        sum4=num[0][2]+num[1][1]+num[2][0];
        printf("从左上到右下的对角线元素之和为%d
    从左下到右上的对角线元素之和为%d",sum3,sum4);
        return 0;
    }

    1.二维数组声明函数形参,可以省略第一维数组的长度,不能省略第二维数组的长度
    2.二维数组元素的应用
     数组名[下标][下标]
    下标值应该在已定义的数组大小范围内,区分定义数组时的a[1][2]和引用元素时的a[1][2]
    刚开始先定义一个二维数组 它表示的是一个矩阵,在引用的时候,它是作为一个位置一个数字数字
    3.为退格 1字符长度 
          4个字符长度
          回车
  • 相关阅读:
    rCore-Tutorial-Book-v3学习笔记(五)
    rCore-Tutorial-Book-v3学习笔记(四)
    rCore-Tutorial-Book-v3学习笔记(三)
    rCore-Tutorial-Book-v3学习笔记(二)
    rCore-Tutorial-Book-v3学习笔记(一)
    OpenStack 命令行速查表(转载)
    mysql数据库总结笔记
    Owncloud迁移上云案例
    Python
    高等数学(微积分)
  • 原文地址:https://www.cnblogs.com/-lyf/p/6160136.html
Copyright © 2011-2022 走看看