| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 893 人关注过本帖
标题:看看错在哪里??
只看楼主 加入收藏
v943761
Rank: 2
等 级:论坛游民
帖 子:42
专家分:15
注 册:2009-3-4
收藏
 问题点数:0 回复次数:14 
看看错在哪里??
main()
{
 int a=0,b=0,c=0,d=0,i,j,max,min,s[5][5];
  max=0;
  min=0;
 for(i=0;i<5;i++)
  for(j=0;j<5;j++)
  scanf("%d",&s[i][j]);
 for(i=0;i<5;i++)
  for(j=0;j<5;j++)
   {
     if(s[i][j]>max)
       {
        max=s[i][j];
        a=i;
        b=j;
       }
       else if(s[i][j]<min)
         {
           min=s[i][j];
            c=i;
            d=j;
         }
   }
 printf("max=%d,i=%d,j=%d,min=%d,i=%d,j=%
d",max,a,b,min,c,d);
}
要求一个5行5列数组中最大和最小的数,并输出他们的下标。

[ 本帖最后由 v943761 于 2010-3-15 22:05 编辑 ]
搜索更多相关主题的帖子: max 
2010-03-15 21:15
lixnkei
Rank: 4
来 自:樱之国度
等 级:业余侠客
帖 子:133
专家分:227
注 册:2008-5-13
收藏
得分:0 
代码很乱。。。。

1、scanf("%d",s[i][j]); //少了取地址符 &
2、printf("max=%d,i=%d,j=%d,min=%d,i=%d,j=%d",max,a,b,min,c,d); //如果是输入了1~25的话,由于c和d没初始化,里面就会只能是个垃圾值,相反,如果是输入25~1,由于你的else中的判断max>s数组,c和d也只会是个垃圾值。

[ 本帖最后由 lixnkei 于 2010-3-15 21:36 编辑 ]


老师说:会写代码的人多如牛毛,但写得很规范的却不多。代码要规范,养成好习惯~!
2010-03-15 21:34
v943761
Rank: 2
等 级:论坛游民
帖 子:42
专家分:15
注 册:2009-3-4
收藏
得分:0 
上面改了还是不行!!!
2010-03-15 22:07
lixnkei
Rank: 4
来 自:樱之国度
等 级:业余侠客
帖 子:133
专家分:227
注 册:2008-5-13
收藏
得分:0 
改成怎样了?


老师说:会写代码的人多如牛毛,但写得很规范的却不多。代码要规范,养成好习惯~!
2010-03-15 22:11
lixnkei
Rank: 4
来 自:樱之国度
等 级:业余侠客
帖 子:133
专家分:227
注 册:2008-5-13
收藏
得分:0 
程序代码:
# include <stdio.h>

int main(void)
{
    int a=0, b=0, c=0, d=0, i, j;
    int max, min;
    int s[5][5];

    for (i=0;i<5;i++)
    {
        for (j=0;j<5;j++)
        {
            scanf("%d",&s[i][j]);
        }
        printf("\n"); /*为了美观*/
    }

    max = min = s[0][0];

    for (i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            if(s[i][j]>max)
            {
                max=s[i][j];
                a=i;
                b=j;
               
            }
            else if(s[i][j]<min)
            {
                min=s[i][j];
                c=i;
                d=j;
            }

         }
    }

    /*
    printf("max=%d,i=%d,j=%d,min=%d,i=%d,j=%d",max,a,b,min,c,d);
    */

    printf("max=%d, s[%d][%d]; min=%d, s[%d][%d]\n",max,a,b,min,c,d);

    return 0;
}




老师说:会写代码的人多如牛毛,但写得很规范的却不多。代码要规范,养成好习惯~!
2010-03-15 22:33
v943761
Rank: 2
等 级:论坛游民
帖 子:42
专家分:15
注 册:2009-3-4
收藏
得分:0 
回复 5楼 lixnkei
按你写的运行~~~结果错误!!
2010-03-15 22:52
lixnkei
Rank: 4
来 自:樱之国度
等 级:业余侠客
帖 子:133
专家分:227
注 册:2008-5-13
收藏
得分:0 
回复 6楼 v943761
你输入什么数据来验证了?我验证了好几遍都是正确的。


老师说:会写代码的人多如牛毛,但写得很规范的却不多。代码要规范,养成好习惯~!
2010-03-15 23:02
lixnkei
Rank: 4
来 自:樱之国度
等 级:业余侠客
帖 子:133
专家分:227
注 册:2008-5-13
收藏
得分:0 
10
9
8
7
6

5
4
3
2
1

11
12
13
14
15

16
17
18
19
20

21
22
23
24
25

max=25, s[4][4]; min=1, s[1][4]
Press any key to continue


老师说:会写代码的人多如牛毛,但写得很规范的却不多。代码要规范,养成好习惯~!
2010-03-15 23:04
lixnkei
Rank: 4
来 自:樱之国度
等 级:业余侠客
帖 子:133
专家分:227
注 册:2008-5-13
收藏
得分:0 
把代码添加一个提示符后再验证,还是正确的

s[0][0] = 10
s[0][1] = 9
s[0][2] = 8
s[0][3] = 7
s[0][4] = 6

s[1][0] = 5
s[1][1] = 4
s[1][2] = 3
s[1][3] = 2
s[1][4] = 2

s[2][0] = 25
s[2][1] = 25
s[2][2] = 24
s[2][3] = 26
s[2][4] = 23

s[3][0] = 22
s[3][1] = 21
s[3][2] = 20
s[3][3] = 19
s[3][4] = 18

s[4][0] = 17
s[4][1] = 16
s[4][2] = 15
s[4][3] = 14
s[4][4] = 13


max=26, s[2][3]; min=2, s[1][3]
Press any key to continue


老师说:会写代码的人多如牛毛,但写得很规范的却不多。代码要规范,养成好习惯~!
2010-03-15 23:23
v943761
Rank: 2
等 级:论坛游民
帖 子:42
专家分:15
注 册:2009-3-4
收藏
得分:0 
我用的是TC,有关系吗??
2010-03-15 23:30
快速回复:看看错在哪里??
数据加载中...
 
   



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

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