| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3082 人关注过本帖
标题:任意输入a[N][N]个数,找出并输出其中的最大数和 最小数,以及它们的下标
只看楼主 加入收藏
小马不过河
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-7-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
任意输入a[N][N]个数,找出并输出其中的最大数和 最小数,以及它们的下标
#include <stdio.h>
int main(){
    int n=3;
    int a[3][3];
    int i,j,max,min;
    int a1,a2,b1,b2;
    printf("输入%d个数\n",n*n);
    for(i=0;i<n;i++){
    for(j=0;j<n;j++)
        scanf("%d",&a[i][j]);
    }
    max=a[0][0];
    min=a[0][0];
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            if(a[i][j]>max)
                max=a[i][j];
            a1=i;b1=j;
        }
        
        if(a[i][j]<min){
                min=a[i][j];
            a2=i;b2=j;
        
        }
    }
        printf("最大值a[%d][%d]=%d,最小值a[%d][%d]=%d\n",a1,b1,max,a2,b2,min);
        return 0;
}

不会,也不知道拿错了
搜索更多相关主题的帖子: include 
2016-07-25 21:01
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:4 
#include <stdio.h>
int main(){
    int n=3;
    int a[3][3];
    int i,j,max,min;
   
    int a1=0,a2=0,b1=0,b2=0;
   
    printf("输入%d个数\n",n*n);
    for(i=0;i<n;i++){
    for(j=0;j<n;j++)
        scanf("%d",&a[i][j]);
    }
    max=a[0][0];
    min=a[0][0];
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            if(a[i][j]>max)
            {
                max=a[i][j];
                a1=i;b1=j;
            }
            else if(a[i][j]<min)
            {
                min=a[i][j];
                a2=i;b2=j;
            }
        }
    }
    printf("最大值a[%d][%d]=%d,最小值a[%d][%d]=%d\n",a1,b1,max,a2,b2,min);
    return 0;
}
2016-07-25 21:31
蝴蝶扣
Rank: 2
等 级:论坛游民
威 望:1
帖 子:52
专家分:76
注 册:2016-7-18
收藏
得分:5 
回复 楼主 小马不过河
你可以把max=a[0][0];  min=a[0][0];改成  max=a[0][0];  min=a[0][1];总之就是不要把max 和 min  都设置成a[0][0].当然,给a1,b1,a2,b2都赋初值为0,是最好的方法,但是我们经常会忘记赋初值,所以第一种办法也是可行的。
2016-07-26 08:45
晓益
Rank: 4
来 自:江苏扬州
等 级:业余侠客
威 望:2
帖 子:85
专家分:220
注 册:2016-7-9
收藏
得分:10 
回复 楼主 小马不过河
思路和2楼的是一样的,这里我在你的代码基础上修改一些内容, 括号什么的就不详说了。
程序代码:
#include <stdio.h>
int main(){
    int n=3;
    int a[3][3];
    int i,j,max,min;
    int a1,a2,b1,b2;
    printf("输入%d个数\n",n*n);
    for(i=0;i<n;i++){
    for(j=0;j<n;j++)
        scanf(" %d",&a[i][j]);
    }
    max=a[0][0];
    min=a[0][0];
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
        {
            if(a[i][j]>=max)   //这里尤其是要注意,有可能最大值就是第一个元素,你之前的写法会跳过
            {
                max=a[i][j];
                a1=i;b1=j;
            }
        
            if(a[i][j]<=min)   //同上
           {      
                min=a[i][j];
                a2=i;b2=j;
           }
        
        }
    
        printf("最大值a[%d][%d]=%d,最小值a[%d][%d]=%d\n",a1,b1,max,a2,b2,min);
        return 0;
}

千里之行,始于足下。
思考问题伤细胞,得分不容易。解决完问题请尽快结贴
2016-07-26 09:09
平常心q
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:120
专家分:550
注 册:2016-3-31
收藏
得分:1 
if(a[i][j]>max)
{
       max=a[i][j];
       a1=i;b1=j;
}

错在:少了两个红色的大括号
2016-07-26 20:23
快速回复:任意输入a[N][N]个数,找出并输出其中的最大数和 最小数,以及它们的下标 ...
数据加载中...
 
   



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

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