zoukankan      html  css  js  c++  java
  • 二维数组 同时计算 练习题

      1 #include <stdio.h>
      2 /*
      3 题目1:编写程序:读取6X5的整数数组,然后显示出每行的和与每列的和
      4 例:enter row 1: 8 3  9 0 10
      5     enter row 2: 3 5 17 1  1
      6     enter row 3: 2 8  6 23 1
      7     enter row 4:15 7  3  2 9
      8     enter row 5: 6 14 2  6 0 
      9     enter row 6: 1 1  1  1  1 
     10 题目2:修改上面一题  使其提示用户输入每个学生5们测验的成绩,一共有6个学生,然后计算每个学生的总分和平均分,以及:每门测验的平均分
     11           高分和低分。    
     12 */
     13 
     14 #define M 6  //6个学生
     15 #define N 5     //5门成绩
     16 #define K 2     //高分和低分
     17 void get_row(int (*p)[N],int n);
     18 void total(int (*p)[N],int *p2,int *p3,int (*p1)[K],int n);
     19 void input_Student_ScoreSum(int *p,int m,int n);
     20 void input_Tese_avg(int *p,int n);
     21 void input_Tese_high_low(int (*p)[K],int n);
     22 int main(void)
     23 {
     24     int arr[M][N];// 6个学生的5门成绩
     25     int Student_ScoreSum[M] = {0};//每个学生的总分
     26     int Tese_sum[N] = {0};//每门测验总分
     27     int Tese_high_and_low[N][K] = {-1,101,-1,101,-1,101,-1,101,-1,101};//5门测验的高分和低分.初始化:高分初始为0分-1,即-1,低分初始为满分+1 即:101
     28 //输入6个学生的5门成绩
     29     get_row(arr,N);
     30 //每个学生的总分与每门测验的总分  分别存入Student_ScoreSum和Tese_sum ,每门测验的高分,低分存入Tese_high_and_low
     31     total(arr,Student_ScoreSum,Tese_sum,Tese_high_and_low,N);
     32 //输出每个学生的总分和平均分
     33     input_Student_ScoreSum(Student_ScoreSum,M,N);
     34 //输出每门测验的平均分
     35     input_Tese_avg(Tese_sum,M);
     36 //输出每门测验的高分和低分
     37     input_Tese_high_low(Tese_high_and_low,N);
     38 
     39 
     40     return 0;
     41 }
     42 void get_row(int (*p)[N],int n)
     43 {
     44     for(int i = 0;i<M;i++)
     45     {
     46         printf("please enter student%d five score:",i+1);
     47         for(int j = 0;j<n;j++)
     48             scanf("%d",*(p+i)+j);
     49     }
     50     return ;
     51 }
     52 
     53 void total(int (*p)[N],int *Student_ScoreSum,int *Tese_sum,int (*p1)[K],int n)
     54 {
     55     for(int i = 0;i<M;i++)
     56     {
     57 //        p1[i][0] = p[i][1] = **(p+i);   //错误原因:第一行初始化了。程序继续运行,会将第二行的元素进行比较,但是第二行的元素没有初始化,内是垃圾值,并且是很大的负数
     58                                         //所以结果是错误的。
     59         for(int j = 0;j<n;j++)
     60         {
     61             Student_ScoreSum[i] += *(*(p+i)+j);//计算每个学生的总分
     62             Tese_sum[j] += *(*(p+i)+j);//计算每门测验的总分
     63             if(*(*(p+i)+j) >p1[j][0])//计算每门测试的最高分
     64                 p1[j][0] = *(*(p+i)+j);
     65             if(*(*(p+i)+j) < p1[j][1])//计算每门测试的最低分
     66                 p1[j][1] = *(*(p+i)+j);    
     67         }
     68     }
     69     return ;
     70 }
     71 void input_Student_ScoreSum(int *p,int m,int n)//每个学生的总分和平均分
     72 {
     73     printf("-------------每个学生的总分和平均分-----------------
    
    ");
     74     for(int i = 0;i< m;i++)
     75     {
     76         printf("Student%d ScoreSum = %d    ",i+1,*(p+i));//输出学生的总分
     77         printf("Student%d Scoreavg = %.2f
    ",i+1,(*(p+i)*1.0)/n);//输出学生的平均分
     78     }
     79     return ;
     80 }
     81 void input_Tese_avg(int *p,int n)
     82 {
     83     printf("-------------每门功课的平均分-----------------
    
    ");
     84     for(int i = 0;i<n;i++)
     85     {
     86         printf("第%d们%.2f	",i+1,(*(p+i)*1.0)/n);//输出每门功课的平均分
     87     }
     88     putchar(10);
     89 
     90     return ;
     91 }
     92 void input_Tese_high_low(int (*p)[K],int n)
     93 {
     94     printf("-------------每门功课的高分和低分-----------------
    
    ");
     95     printf("序号    高分    低分
    ");
     96     for(int i = 0;i<n;i++)
     97     {
     98         printf("第%d门",i+1);
     99         for(int j = 0;j < K;j++)
    100         {
    101             printf("%d	",*(*(p+i)+j));
    102         }
    103         putchar(10);
    104     }
    105     return ;
    106 }
  • 相关阅读:
    wpf Behavior
    wpf Trigger
    语法糖
    Lambda 表达式
    wpf 3D动画
    IEnumerable接口学习
    Delegates, Events, and Anonymous Methods 委托、事件与匿名方法
    wpf 平滑效果随记
    软件工程第一篇博客
    记考研高数第一课
  • 原文地址:https://www.cnblogs.com/wangchaomahan/p/9518720.html
Copyright © 2011-2022 走看看