ljn20010724
2019-09-30 20:42
采纳率: 100%
浏览 277

c语言 请问我的代码为什么测试出来的结果是错的?

图片说明

#include
main()
{
int x,y,z;
float a;

printf("类型、平时、期末:");
scanf("%d%d%d",&x,&y,&z);
if(x=1)
{
if(z>=60)

{

a=z;

}
else

{
a=y*0.3+z*0.7;
}
}
else if(x=2)
{
if(z>=50)
{
a=0.7*z+0.3*y;
}
else
{
a=0.6*z+0.4*y;
}
}

printf("总评:%f",a);
}
图片说明图片说明

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • JonathanYan 2019-09-30 21:52
    已采纳

    if(x=1)要写成if(x==1),后面的那个if也是。
    单等号是赋值,在if里永远为true。双等号才是判断相等

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题