大家帮小弟我看看是哪里的有关问题?结果就是出不来。崩溃了

大家帮我看看是哪里的问题?结果就是出不来。。。崩溃了
C/C++ code

#include <stdio.h>
#include <iostream>
using namespace std;


void main()
{
    double a,b,c;
    scanf("%f%f%f",&a,&b,&c);
    if(a>=b)
            if(a>=c)
            {
                if(a>0&&a<=0.3)
                    printf("一般\n");
                else if(a==0.5||a==0.4)
                    printf("良好\n");
                else if(a>=0.6&&a<=1)
                    printf("优秀\n");
            }
            else
            {
                a=c;
                if(a>0&&a<=0.3)
                    printf("一般\n");
                else if(a==0.5||a==0.4)
                    printf("良好\n");
                else if(a>=0.6&&a<=1)
                    printf("优秀\n");
            }
        else if(b>=c)
        {
            a=b;
            if(a>0&&a<=0.3)
                printf("一般\n");
            else if(a==0.5||a==0.4)
                printf("良好\n");
            else if(a>=0.6&&a<=1)
                printf("优秀\n");
        }
        else
        {
            a=c;
            if(a>0&&a<=0.3)
                printf("一般\n");
            else if(a==0.5||a==0.4)
                printf("良好\n");
            else if(a>=0.6&&a<=1)
                printf("优秀\n");
        }
        

    system("pause");

    return;
}



------解决方案--------------------
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);

printf中double和float都可以用“%f”
scanf中double要用“%lf”
------解决方案--------------------

scanf("%lf%lf%lf",&a,&b,&c);
------解决方案--------------------
问题就在于单双精度,呵呵! scanf("%f%f%f",&a,&b,&c);

------解决方案--------------------
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。