• 39. 通过实现两道题,体验访问数组行列元素的灵活性,掌握在一个嵌套循环内遍历数组时存在列与行相关的“”同时计算“”的问题的实现


    
    
    


    1
    #include <stdio.h> 2 3 int main(void) 4 { 5 int arr[6][5]; 6 int i,j; 7 for(i = 0;i<6;i++) 8 { 9 printf("Enter row %d:",i+1); 10 for(j = 0;j<5;j++) 11 { 12 scanf("%d",&arr[i][j]); 13 } 14 } 15 16 17 18 int rowsum[6]={0}; 19 int colsum[5]={0}; 20 21 #if 0 //基本方法 22 for(i = 0;i<6;i++)//累加每行 23 { 24 for(j = 0;j<5;j++) 25 { 26 rowsum[i] += arr[i][j]; 27 } 28 } 29 30 for(j = 0;j<5;j++)//累加每列 31 { 32 for(i = 0;i<6;i++) 33 { 34 colsum[j] += arr[i][j]; 35 } 36 } 37 #endif 38 39 #if 0 //优化方法 40 for(i = 0;i<6;i++)//同时累加每行每列 41 { 42 for(j = 0;j<5;j++) 43 { 44 rowsum[i] += arr[i][j]; 45 colsum[j] += arr[i][j]; 46 } 47 } 48 #endif 49 50 51 //打印 52 printf("Row totals:"); 53 for(i = 0;i<6;i++) 54 { 55 printf("%3d",rowsum[i]); 56 } 57 putchar(10); 58 printf("Column totals:"); 59 for(j = 0;j<5;j++) 60 { 61 printf("%3d",colsum[j]); 62 } 63 putchar(10); 64 65 return 0; 66 }

    //打印懒得写了。

     1 #include <stdio.h>
     2 
     3 int main(void)
     4 {
     5 
     6     int i,j;
     7     int arr[5][5] = {{1,2,3,4,5},
     8                     {6,7,8,9,10},
     9                     {11,12,13,0,15},
    10                     {16,0,18,19,20},
    11                     {0,22,23,24,25}};
    12  /*
    13     for(i = 0;i<5;i++)
    14     {
    15         printf("Enter %d student's score:",i+1);
    16         for(j = 0;j<5;j++)
    17         {
    18             scanf("%d",&arr[i][j]);
    19         }
    20     }
    21    */
    22     int rowsum[5] = {0};//存储每个学生的总分
    23     int colsum[5] = {0};//存储每门测验的(所有学生加起来的)总分
    24     int min[5] = {101,101,101,101,101};//存储每门测验的最低分
    25     int max[5] = {-1,-1,-1,-1,-1};//存储每门测验的最高分
    26 
    27 #if 0//基本方法
    28     for(i = 0;i<5;i++)
    29     {
    30         for(j=0;j<5;j++)
    31         {
    32             rowsum[i] += arr[i][j];
    33         }
    34     }
    35     for(j = 0;j<5;j++)
    36     {
    37         for(i=0;i<5;i++)
    38         {
    39             colsum[j] += arr[i][j];
    40             if(min[j] > arr[i][j])
    41                 min[j] = arr[i][j];
    42             if(max[j] < arr[i][j])
    43                 max[j] = arr[i][j];
    44         }
    45     }
    46 
    47 #endif
    48 
    49 
    50 #if 0   //最优方法
    51 
    52     for(i = 0;i<5;i++)//
    53     {
    54         for(j = 0;j<5;j++)
    55         {
    56             rowsum[i] += arr[i][j];
    57             colsum[j] += arr[i][j];
    58             if(min[j] > arr[i][j])//持续性慢比
    59                 min[j] = arr[i][j];
    60             if(max[j] < arr[i][j])//持续性慢比
    61                 max[j] = arr[i][j];
    62         }
    63     }
    64 
    65 #endif
    66 
       67 68 return 0; 69 }




  • 相关阅读:
    [译]Node.js Interview Questions and Answers (2017 Edition)
    XUnit
    Inline Route Constraints in ASP.NET Core MVC
    [译]Object.getPrototypeOf
    [译]IIS 8.0应用初始化
    C++的那些事:你真的了解引用吗
    C++的那些事:表达式与语句
    C++的那些事:数据与类型
    神经网络:卷积神经网络
    图像分析:投影曲线的波峰查找
  • 原文地址:https://www.cnblogs.com/ZhuLuoJiGongYuan/p/9501983.html
Copyright © 2020-2023  润新知