| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 393 人关注过本帖
标题:这个程序我不用指针做,错在哪里,求大神解答。。。
只看楼主 加入收藏
罗明豪
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2014-5-25
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:9 
这个程序我不用指针做,错在哪里,求大神解答。。。
#include<stdio.h>
main()
{
    int a[10][10],i,j,n,max,min,c,e,t;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            scanf("%d",&a[i][j]);
    }
    printf("The array is:\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        printf("%d\t",a[i][j]);
             printf("\n");
    }
    max=a[0][0],min=a[0][0];
    for(i=0;i<n;i++)
    {   
        for(j=0;j<n;j++)
        {   c=0;
            if(max<a[i][j])
            {
                max=a[i][j];
                 c=i;
            }
 
            if(min>a[i][j])
            {
                min=a[i][j];
                e=i;
            }
        }
    }
 
printf("The maximum line is%d\n",c+1);
printf("The minimum line is%d\n",e+1);
for(j=0;j<n;j++)
{
    a[t][j]=a[c][j];
    a[c][j]=a[e][j];
    a[e][j]=a[t][j];
}
  printf("The new array is:\n");
        for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        
            printf("%d\t",a[i][j]);
             printf("\n");
        
    }
}
搜索更多相关主题的帖子: include 
2014-05-25 01:59
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:0 
max=a[0][0],min=a[0][0];你这个地方有问题。如果你先把a[0][0]当作最大值,你紧跟着又给了最小值,肯定就把前面的覆盖了,你应该两个分开求。

我不是砖家,要努力成为砖家。
2014-05-25 08:40
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
是的
2014-05-25 09:50
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
你程序的目的是什么?是找出二维数组最大值最小值所在行,并交换这两行的位置吗?
2014-05-25 10:30
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:5 
如果程序的目的是找出二维数组最大值最小值所在行,并交换这两行的位置。只需要改一下交换的临时变量:
for(j=0;j<n;j++)
{
    t=a[c][j];
    a[c][j]=a[e][j];
    a[e][j]=t;
}
2014-05-25 10:49
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:5 
另外,c=0;e=0;要放到前面,如下:

    max=a[0][0];
    min=a[0][0];
    c=0;
    e=0;
2014-05-25 10:52
罗明豪
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2014-5-25
收藏
得分:0 
回复 5 楼 kwxx
为什么这样就可以,我那样就不行呢?
2014-05-25 13:05
罗明豪
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2014-5-25
收藏
得分:0 
回复 6 楼 kwxx
确实不会乱码了,谢谢。
2014-05-25 13:06
jeff6197754
Rank: 2
等 级:论坛游民
帖 子:6
专家分:22
注 册:2014-5-25
收藏
得分:0 
话说那个min和max不能写用逗号分隔写在同一行?不是只需要把原来的代码中的c=0删掉,然后在max=a[0][0],min=a[0][0];下一行加上:c=0,e=0;吗?
2014-05-25 14:19
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
回复 9 楼 jeff6197754
可以。
2014-05-25 14:37
快速回复:这个程序我不用指针做,错在哪里,求大神解答。。。
数据加载中...
 
   



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

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