新手程序,希望各位专家帮忙看一上

新手程序,希望各位专家帮忙看一下!
计算学生奖学金的等级,以三门功课成绩M1,M2,M3为评讲依据。奖学金评定标准如下:
A等奖:符合下列条件之一者,可得A等奖。
(1)平均分大于95分者。
(2)有两门成绩是100分,且第三门功课成绩不低于80分者。
B等奖:符合下列条件之一者,可得B等奖。
(1)平均分大于90分者。
(2)有一门成绩是100分,且其他成绩不低于75分者。
C等奖:各门功课成绩都不低于75分者。
要求:符合条件者就高不就低,只能获得高的那一项奖学金。学生成绩用键盘输入,输出获奖的等级。
所设程序为:
#include<stdio.h>
void main()
{   flot M1,M2,M3,M;
    printf("Enter M1,M2,M3:");
    scanf("%f%f%f",&M1,&M2,&M3);
    M=(M1+M2+M3)/3;
    if(M>95||M1==100&&M2==100&&M3>=80||M2==100&&M3==100&&M1>=80||M1==100&&M3==100&&M2>=80)
         printf("A等奖");
    else if(M>90||M1==100&&M2>=75&&M3>=75||M2==100&&M1>=75&&M3>=75||M3==100&&M1>=75&&M2>=75)
         printf("B等奖");
    else if(M1>=75&&M2>=75&&M3>=75)
         printf("C等奖");
    else 
         printf("不获奖");
}
请各位专家帮帮忙咯!
    
    

------解决方案--------------------
我给你改了下,自己比较下

#include<stdio.h>
void main()

    float M1,M2,M3,M;
    printf("Enter M1,M2,M3:");
    scanf("%f %f %f",&M1,&M2,&M3);
    M=(M1+M2+M3)/3;
    if(M>95
------解决方案--------------------
((M1==100&&M2==100&&M3>=80)
------解决方案--------------------
(M2==100&&M3==100&&M1>=80)
------解决方案--------------------
                           (M1==100&&M3==100&&M2>=80)))
printf("A等奖");
    else if(M>90
------解决方案--------------------
((M1==100&&M2>=75&&M3>=75)
------解决方案--------------------
(M2==100&&M1>=75&&M3>=75)
------解决方案--------------------
 (M3==100&&M1>=75&&M2>=75)))
printf("B等奖");
    else if(M1>=75&&M2>=75&&M3>=75)
printf("C等奖");
    else 
printf("不获奖");
}

------解决方案--------------------
这样可以:主要是没有给M赋初始值
     
     float M1,M2,M3,M = 0.0;
     printf("Enter M1,M2,M3:\n");
     scanf("%f%f%f",&M1,&M2,&M3);
     M=(M1+M2+M3)/3;
     if(M>95
------解决方案--------------------
M1==100&&M2==100&&M3>=80
------解决方案--------------------
M2==100&&M3==100&&M1>=80