• 第十次作业


    一、实验内容      

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

    # include<stdio.h>
    # define N 6
    # define M 6
    void readscore(int score[M][N]);
    void aveforstud(int score[M][N],double ave[]);
    void aveforcourse(int score[M][N],double ave[]);
    void sum(int score[M][N],int isum[]);
    int main()
    {
        int i,j,score[M][N],isum[M]={0};
        double ave[M-1]={0};
        readscore(score);//输入成绩
        sum(score,isum); //输出每位学生的总分
        aveforstud(score,ave);//输出每个学生的平均值
        printf("  语文  数学  英语  总分  平均分
    ");
        for(i=0;i<M-1;i++)
         {
            printf("%d",i+1);
            for(j=0;j<N-3;j++)
            {
            printf("%4d",score[i][j]);
            }
            printf("		%d
    ",isum[i]);
            printf("				%lf
    ",ave[i]);
            printf("
    ");
        }
      aveforcourse(score,ave);//输出每科的平均值
      printf("平均值");
      for(i=1;i<N-2;i++)
      {
        printf("%.2lf",ave[i]);
      }
      return 0;
    }
    void readscore(int score[M][N])//输入函数
    {
      int i,j;
      printf("输入五位学生的成绩:
    ");
      for(i=0;i<M-1;i++)
      {
          printf("输入第%d个学生的成绩:
    ",i+1);
          for(j=0;j<N-3;j++)
          {
             scanf("%d",&score[i][j]);
          }
      }
    }
    void sum(int score[M][N],int isum[])//每位学生的总分的函数
    {
      int i,j,sum;
      for(i=0;i<M-1;i++)
      {
        sum=0;
        for(j=0;j<N-3;j++)
        {
          sum+=score[i][j];
        }
        isum[i]=sum;
      }
    }
    void aveforstud(int score[M][N],double ave[])//每位学生的平均分的函数
    {
      int i,j,sum;
      for(i=0;i<M-1;i++)
      {
        sum=0;
        for(j=0;j<N-3;j++)
        {
          sum+=score[i][j];
        }
        ave[i]=(double)sum/3.0;
      }
    }
    void aveforcourse(int score[M][N],double ave[])//每科的平均分的函数
    {
     int i,j,sum;
     for(j=0;j<N-3;j++)
     {
       sum=0;
       for(i=0;i<M-1;i++)
        {
        sum+=score[i][j];
        }
     } 
     ave[i]=(double)sum/5.0;
    }

                          

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

    # include <stdio.h>
    # define N 100
    # define M 100
    int main()
    {
        int i,j,m,sum[M][N],sum1,sum2,sum3,sum4;
        printf("请输入行列数m
    ");
        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;
    }

    二.实验总结:

    1.记住加‘&’

    2.注意赋初值

    3.在第一题主函数要将所需输出的值嵌套在for循环中

    4.注意变量名和地址名不能相同

    5..表格的输出使用 ,表示水平制表位。

  • 相关阅读:
    H5(WebView)跳Native(UIView)
    URLManager官方解说
    iOS网络层框架之AFNetworking与 ASIHTTPRequest对比
    iOS 应用2.0版怎么做(转)
    善用iOS中webview(转)
    iOS实现在后台播放音乐
    CentOS 6.7安装Storm 0.9.7
    CentOS 6.7安装Storm 0.9.7
    CentOS 6.7安装Sqoop 1.4.6
    CentOS 6.7安装Sqoop 1.4.6
  • 原文地址:https://www.cnblogs.com/wei-1249700655/p/6159309.html
Copyright © 2020-2023  润新知