首页 > 解决方案 > c程序if else if语句

问题描述

在第二个和第三个 else if 语句中面临问题。当我运行代码时,它显示第一个 if 和第一个 else if 语句的 printf 语句,除了它自己的 printf 语句。如何解决它请帮助任何人

#include <stdio.h>

int main()

{
int sci_score, maths_score;

printf("enter your sci score:", sci_score);

scanf("%d", &sci_score);

printf("enter your maths score:", maths_score);

scanf("%d", &maths_score);

if(sci_score>=33, maths_score>=33) 
{
    printf("you are awarded with ruppees 45");
}

else if(sci_score>=33, maths_score<33)
{
    printf("you are awarded with ruppees 15. work hard in maths");
}

else if(sci_score<33, maths_score>=33)
{
    printf("you are awarded with ruppees 15. work hard in sci");
}

else if(sci_score<33, maths_score<33) 
{
    printf("work hard in sci and maths");
}

return 0;

}

标签: cif-statement

解决方案


您需要做的就是删除,if/else if 语句中的逗号并替换为&&this 意味着 if/else if 块中的两个条件都需要为真,才能显示打印语句,

更新代码:

#include <stdio.h>

int main()

{
int sci_score, maths_score;

printf("enter your sci score:", sci_score);

scanf("%d", &sci_score);

printf("enter your maths score:", maths_score);

scanf("%d", &maths_score);

if(sci_score>=33 && maths_score>=33) 
{
    printf("you are awarded with ruppees 45");
}

else if(sci_score>=33 && maths_score<33)
{
    printf("you are awarded with ruppees 15. work hard in maths");
}

else if(sci_score<32 && maths_score>=33)
{
    printf("you are awarded with ruppees 15. work hard in sci");
}

else if(sci_score<33 && maths_score<33) 
{
    printf("work hard in sci and maths");
}
return 0;
}

推荐阅读