| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10117 人关注过本帖
标题:关于将输出的一组数据放入数组中不知道怎么写,求指点
只看楼主 加入收藏
海龙独仙
Rank: 2
来 自:江西南昌大学
等 级:论坛游民
帖 子:19
专家分:18
注 册:2012-12-26
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:6 
关于将输出的一组数据放入数组中不知道怎么写,求指点
//用指针数组和指针移动的方法求二维数组a[M][N]各行的最大值,并将各行最大值依次存放在数组b[M]中。
#include<stdio.h>
#include<stdlib.h>

void main()
{
    int a[3][4],b[3];
    int*p=a[0];
    int i,j;
    int max;
   
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
        a[i][j]=rand ()%101;
        printf("a[%d][%d]=%d\t",i,j,a[i][j]);
    }
    printf("\n");
    }
    max=0;
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
            if(p[i*4+j]>max){max=p[i*4+j];
    }
        }
    }
        printf("max=%d\n",max);

}
ps,将数组每行的最大值输出不会写,只写出了最大值。另外要将最大值放进数组B[3]中不太会。求大神指点
搜索更多相关主题的帖子: include max 
2013-01-14 11:30
海龙独仙
Rank: 2
来 自:江西南昌大学
等 级:论坛游民
帖 子:19
专家分:18
注 册:2012-12-26
收藏
得分:0 
c语言基础还是差了点,知识学了运用还是不熟练

呵呵,新手路过,说错 勿怪
2013-01-14 11:42
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
    int a[3][4],b[3];
    int*p=&a[0][0];

    int i,j;
    int max;
    srand(time(NULL));
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
        a[i][j]=rand ()%101;
        printf("a[%d][%d]=%d\t",i,j,a[i][j]);
    }
    printf("\n");
    }
  
    for(i=0;i<3;i++){
        max=0;
        for(j=0;j<4;j++){
            if(*(p+i*4+j)>max)max=*(p+i*4+j);
            b[i]=max;
  
        }
    }
        printf("%d       %d         %d",b[0],b[1],b[2]);

}
貌似这样嫩刚打到目的

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-14 12:00
海龙独仙
Rank: 2
来 自:江西南昌大学
等 级:论坛游民
帖 子:19
专家分:18
注 册:2012-12-26
收藏
得分:0 
回复 3楼 yaobao
#include "stdio.h"
void main()
{
    int a=1,b=0;
    switch (a)
{  
case  1:
      switch (b)
      {
 case  0: printf("**0**");
break;
           case  1: printf("**1**");
break;
      }
      case  2: printf("**2**");
break;
}
}
这个程序输出结果怎么就是**0****2**了呢?不是应该是**0** 么?求指点下。

呵呵,新手路过,说错 勿怪
2013-01-14 15:00
雨涵爱吃葡萄
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2013-1-7
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>

void main()
{
    int a[3][4],b[3]={0};
    int*p=a[0];
    int i,j;
      
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        {
        a[i][j]=rand ()%101;
        printf("a[%d][%d]=%d\t",i,j,a[i][j]);
        }
        printf("\n");
    }
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        {
            if(p[i*4+j]>b[i])
            {
                b[i]=p[i*4+j];
            }
   
        }
    }
    for(i=0;i<3;i++)
        printf("b[i]=%d\n",b[i]);

}
在你源程序基础上写的
2013-01-14 15:20
lupeifeng123
Rank: 2
等 级:论坛游民
帖 子:74
专家分:47
注 册:2012-12-13
收藏
得分:0 
怎么没有酱油瓶

一步一个脚印,贵在坚持。
2013-01-14 15:25
雨涵爱吃葡萄
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2013-1-7
收藏
得分:0 
回复 4楼 海龙独仙
因为执行break后只是跳出第二个switch,继续执行case 2,要想出现你想要的结果就要在case 2之前加上break
2013-01-14 15:26
快速回复:关于将输出的一组数据放入数组中不知道怎么写,求指点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029608 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved