请大大们帮忙看看,这个C程序哪里出了问题

qq_42324974 2018-05-27 11:12:06

#include<stdio.h>
#define stds_m 5
#define stds_e 3

int score_m[stds_m];
int score_e[stds_e];


int max_of(int v[],int num)
{
int max=v[0];
for(int i=1;i<num;i++)
{
if(max<v[i])
max=v[i];
}
return max;

}

void p_score() //输入学生成绩
{
int i;
printf("请输入学生成绩:\n");
for(i=0;i<(stds_m<stds_e)?stds_e:stds_m;i++) //5
{
if(i<(stds_m<stds_e)?stds_m:stds_e) //3
{
printf("[%d]号数学:",i+1);
scanf("%d",&score_m[i]);
printf(" 英语:");
scanf("%d",&score_e[i]);
}
else
{
if(stds_m<stds_e)
{
printf("[%d]号英语:",i+1);
scanf("%d",&score_e[i]);
}
else
{
printf("[%d]号数学:",i+1);
scanf("%d",&score_m[i]);
}
}
}
}

int main(int argc,char *argv[])
{
int max_m,max_e;
p_score();
max_m=max_of(score_m,stds_m);
max_e=max_of(score_e,stds_e);
printf("数学最高分是:%d\n",max_m);
printf("英语最高分是:%d\n",max_e);
return 0;
}


我现在卡在 p_score() 函数这里,其它部分还没有去排查。
本来的想法是,考数学的人多,考英语的人少,但是两边都要把对应的成绩输入进去。现在这个函数不管怎么输入都是数学和英语一直持续输入下去,并且不会停止。我是新手,不知道什么原因,请大大们帮帮忙,谢谢!
...全文
1100 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42324974 2018-05-29
  • 打赏
  • 举报
回复
呵呵,谢谢各位。 另外,我这么写只是把刚学的东西都用上一遍,还没有考虑到优化,后面会注意这个问题
自信男孩 2018-05-28
  • 打赏
  • 举报
回复
for(i=0;i<(stds_m<stds_e)?stds_e:stds_m;i++)    //5
    {
        if(i<(stds_m<stds_e)?stds_m:stds_e)    //3
        {
            printf("[%d]号数学:",i+1);   
            scanf("%d",&score_m[i]);
            printf("     英语:");   
            scanf("%d",&score_e[i]);
        }
        else
        {
            if(stds_m<stds_e)
            {
                printf("[%d]号英语:",i+1);   
                scanf("%d",&score_e[i]);
            }
            else
            {
                printf("[%d]号数学:",i+1);   
                scanf("%d",&score_m[i]);
            }
        }
    }
这部分建议用两个循环分开来输入;不要用二层嵌套的输入。因为没看出数学和英语成绩之间有对应关系,或者说有某种关系
  • 打赏
  • 举报
回复
宏定义stds_m 和 stds_e for(i=0;i<(stds_m<stds_e)?stds_e:stds_m;i++) //5 { if(i<(stds_m<stds_e)?stds_m:stds_e) 这样玩看着不累吗
qq_42324974 2018-05-27
  • 打赏
  • 举报
回复
我已经意识到了,非常感谢!!
脚比路长 2018-05-27
  • 打赏
  • 举报
回复
运算符的优先级 了解一下?

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧