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