A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. /*在二维数组a中选出各行最大的元素组成一个一维数组b。
  2. a=( 5  8 85  76
  3.    7  35 16 101
  4.    11 27 13  38)
  5. b=(85 101 38)

  6. 本题的编程思路是,在数组A的每一行中寻找最大的元素,找到之后把该值赋予数组B相应的元素即可。程序如下:
  7. */
  8. #include <stdio.h>
  9. int main(){
  10.     int a[][4]={5,8,85,76,7,35,16,101,11,27,13,38};
  11.     int b[3],i,j,l;
  12.     for(i=0;i<=2;i++){
  13.         l=a[i][0];
  14.         for(j=1;j<=3;j++)
  15.             if(a[i][j]>l) l=a[i][j];
  16.         b[i]=l;
  17.     }
  18.     printf("二维数组 a:\n");
  19.     for(i=0;i<=2;i++){
  20.         for(j=0;j<=3;j++)
  21.             printf("%5d",a[i][j]);
  22.         printf("\n");
  23.     }
  24.     printf("一维数组 b:\n");
  25.     for(i=0;i<=2;i++)
  26.         printf("%5d",b[i]);
  27.     printf("\n");
  28.     return 0;
  29. }
  30. /*程序中第一个for语句中又嵌套了一个for语句组成了双重循环。外循环控制逐行处理,并把每行的第0列元素赋予l。进入内循环后,把l与后面各列元素比较,并把比l大者赋予l。内循环结束时l 即为该行最大的元素,然后把l值赋予b[i]。等外循环全部完成时,数组b中已装入了a各行中的最大值。后面的两个 for语句分别输出数组a和数组b。
  31. */
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马