kid_0203 2015-12-09 12:57 采纳率: 50%
浏览 1519
已采纳

c语言代码问题,麻烦大家帮忙看一下~~

参加期中考试的人数约在 380~450 人之间,总平均分为 76 分,男生的平均分为 75 分,女生的平均分为 80.1 分,问男女生各有多少人?

 #include<stdio.h>
int main()      
{int a,b;
for(a=0;a<=450;a++)
  for(b=0;b<=450;b++) 
  if((380<=(a+b)&&(a+b)<=450)&&(75*a+80.1*b==(a+b)*76)) printf("男生:%d,女生:%d\n",a,b);  
}

我这个代码在VC上运行结果正确,但是提交到学校平台上显示无结果。。。请问是咋回事?是不是因为算法太复杂所以超时了,有没有更简单的算法呀~

  • 写回答

3条回答 默认 最新

  • ysuwood 2015-12-09 13:56
    关注

    实数不能用==判断。

     #include<stdio.h>
    int main()      
    {int a,b;
    for(a=0;a<=450;a++)
        for(b=0;b<=450;b++) 
            if( (380<=(a+b)&&(a+b)<=450) && fabs(75*a+80.1*b-(a+b)*76)<0.001) printf("男生:%d,女生:%d\n",a,b);  
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?