年轻的程序猿
2015-12-25 21:44
#include <stdio.h>
int main()
{
int sale=120; //销售业绩为120万
int year=1; //刚刚进入公司1年
if(sale > 100 )
{
if(year >= 2)
{
printf("%s\n","获得优秀员工奖");
}
printf("%s\n","没有奖励");
}
else
{
printf("%s\n","很遗憾,期望你再接再厉");
}//完善代码
这一句 printf("%s\n","没有奖励"); 造成只要sale大于100,"没有奖励"都会被打印出来,这不是你想要的结果把?
正确的逻辑应该是:sale > 100 和 year >= 2 若不能同时满足,就不能得到奖励。
还有,语句结尾的分号应该是英文半角的
#include <stdio.h>
int main(void)
{
int sale=120; //销售业绩为120万
int year=1; //刚刚进入公司1年
if(sale > 100 )
{
if(year >= 2)
{
printf("%s\n","获得优秀员工奖");
}
printf("%s\n","没有奖励");
}
else
{
printf("%s\n","很遗憾,期望你再接再厉");
}//完善代码
return 0;
}
同上,或者做点同基础的修改:
#include <stdio.h>
int main()
{
int sale=120; //销售业绩为120万
int year=1; //刚刚进入公司1年
if(sale > 100 )
{
if(year >= 2)
{
printf("%s\n","获得优秀员工奖");
}
else //此处添加else,判断是否输出 “没有奖励”
printf("%s\n","没有奖励");
}
else
{
printf("%s\n","很遗憾,期望你再接再厉");
}//完善代码
C语言入门
926210 学习 · 20797 问题
相似问题