| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 632 人关注过本帖
标题:关于n个学生m门成绩的另外一个问题
只看楼主 加入收藏
aglence
Rank: 1
等 级:新手上路
帖 子:63
专家分:2
注 册:2012-7-6
结帖率:92.31%
收藏
已结贴  问题点数:20 回复次数:13 
关于n个学生m门成绩的另外一个问题
#include<stdio.h>
#define N 5
#define M 3

int main()
{
    int i,j;
    int a[N][M];
    printf("请输入学生成绩:\n");
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }

    int k;
    int max;
    for(j=0;j<M;j++)
    {
        max=a[0][j];
        for(i=0;i<N;i++)
        {
            if(a[i][j]>=max)
                max=a[i][j];k=i;
            else
                max=max;
        }
        printf("a[%d][%d]=%d\n",k,j,max);
    }
    return 0;
}

小弟都晕了,怎么编译总是提示if与else没匹配,崩溃了,之前好好的,伤心了。
搜索更多相关主题的帖子: max include 
2012-08-05 23:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
书写习惯不好呗,学谁的把两行代码写在一行上?

授人以渔,不授人以鱼。
2012-08-05 23:32
aglence
Rank: 1
等 级:新手上路
帖 子:63
专家分:2
注 册:2012-7-6
收藏
得分:0 
回复 2楼 TonyDeng
Tony,都无语了,今天想看下代码的,一运行,发现IF与else不能匹配了,总是提示出错,不晓得怎么回事...
2012-08-05 23:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
已经告诉你什么地方出错了,还看不出来?

授人以渔,不授人以鱼。
2012-08-05 23:38
aglence
Rank: 1
等 级:新手上路
帖 子:63
专家分:2
注 册:2012-7-6
收藏
得分:0 
回复 4楼 TonyDeng
max=a[0][j];
        for(i=0;i<N;i++)
        {
            if(a[i][j]>=max)
            max=a[i][j];
                k=i;
            else
            max=max;
写成这样还是不行啊
2012-08-05 23:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你没学过写大括号的吗?if后面无论是什么都写个大括号会发生这种事吗?书写习惯,说过很多次的,你总不肯答我这种代码风格学谁的!

授人以渔,不授人以鱼。
2012-08-05 23:42
aglence
Rank: 1
等 级:新手上路
帖 子:63
专家分:2
注 册:2012-7-6
收藏
得分:0 
明白了,明白了,跟谭浩强学的
2012-08-05 23:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
..

授人以渔,不授人以鱼。
2012-08-05 23:45
aglence
Rank: 1
等 级:新手上路
帖 子:63
专家分:2
注 册:2012-7-6
收藏
得分:0 
回复 8楼 TonyDeng
tony,我将数组改成double型后,相应的输入输出全改成double型,发现输出数据错误了,怎么办,最大值不能输出,对应的i值也不能输出了
2012-08-05 23:58
aglence
Rank: 1
等 级:新手上路
帖 子:63
专家分:2
注 册:2012-7-6
收藏
得分:0 
#include<stdio.h>
#define N 5
#define M 3

int main()
{
    int i,j;
    double a[N][M]; //数据类型改成double型
    printf("请输入学生成绩:\n");
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            scanf("%f",&a[i][j]); //输入数据类型改成double型
        }
    }

    int k;
    double max; //max double型
    for(j=0;j<M;j++)
    {
        max=a[0][j];
        for(i=0;i<N;i++)
        {
            if(a[i][j]>=max)
            {
                max=a[i][j];
                k=i;
            }
            else
                max=max;
        }
        printf("max=a[%d][%d]=%f\n",k,j,max);   //输出数据改成double型
    }
    return 0;
}
2012-08-05 23:58
快速回复:关于n个学生m门成绩的另外一个问题
数据加载中...
 
   



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

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