注册 登录
编程论坛 C++教室

新人求助!missing ';' before 'type'错在哪了?找不到啊

T727480756 发布于 2013-06-09 13:34, 954 次点击
#include<stdio.h>
#include<math.h>
void xz();
void pd();
float x,x1,x2,a,b,c,n;
void main()
{
    scanf("%f,%f,%f",&a,&b,&c);
    pd();
    xz();
}
void xz()
{


    switch (n)
    {
    case 1: printf("不是二次函");break;
    case 2:x=-b/(a*2);printf("%8.4f\n",x);break;
    case 3:x1=-b/(2*a)-sqrt(b*b-4*a*c)/(2*a);x2=-b/(2*a)+sqrt(b*b-4*a*c)/(2*a);
        printf("%8.4f,%8.4f\n",x1,x2);break;
    case 4:x1=-b/(2*a)-sqrt(b*b-4*a*c)/(2*a);
        x2=-b/(2*a)+sqrt(b*b-4*a*c)/(2*a);printf("%8.4fi,%8.4fi\n",x1,x2);break;
    }
void pd()
{
    if(a==0)
        n=1;
else
        if(b*b-4*a*c==0)
        n=2;
    else
        if(b*b-4*a*c>0)
        n=3;
    else
        n=4;
}
8 回复
#2
TonyDeng2013-06-09 13:37
新人,你不给分也罢了,连编译器报告的行号也刻意省掉考别人,不删你帖已经很给面子了。
#3
peach54602013-06-09 16:21
这算什么,玩大家一起来找茬吗?
#4
T7274807562013-06-09 19:13
回复 2楼 TonyDeng
这批评,我表示感谢,我第一次来论坛,c也是初学,因为比较喜欢自己愿意学的,没有人教,遇到这种问题真不知道怎么解决所有来了这里,希望这里的高手能帮忙指点一二,关于行号绝不是故意省掉的,E:\c文件\switch.c(25) : error C2143: syntax error : missing ';' before 'type'
E:\c文件\switch.c(29) : error C2181: illegal else without matching if若能帮忙我表示十分的感谢!
#5
TonyDeng2013-06-09 20:59
花括号不匹配,你把代码排版弄好自然看得出了。都不知道哪看来这样的代码格式,你那书上是这样的?
#6
T7274807562013-06-10 09:02
回复 5楼 TonyDeng
先谢谢你,什么是代码格式?不懂!
#7
好聚好散2013-06-10 09:44
2楼英明
#8
生活无意义2013-06-10 13:59
#include<stdio.h>
#include<math.h>
void xz();
void pd();
float x,x1,x2,a,b,c,n;
void main()
{
    scanf("%f,%f,%f",&a,&b,&c);
    pd();
    xz();
}
void xz()
{


    switch (n)    //变量n的类型不对应该是int 型
    {
    case 1: printf("不是二次函");break;
    case 2:x=-b/(a*2);printf("%8.4f\n",x);break;
    case 3:x1=-b/(2*a)-sqrt(b*b-4*a*c)/(2*a);x2=-b/(2*a)+sqrt(b*b-4*a*c)/(2*a);
        printf("%8.4f,%8.4f\n",x1,x2);break;
    case 4:x1=-b/(2*a)-sqrt(b*b-4*a*c)/(2*a);
        x2=-b/(2*a)+sqrt(b*b-4*a*c)/(2*a);printf("%8.4fi,%8.4fi\n",x1,x2);break;
    }    //这里少了一个花括号
void pd()
{
    if(a==0)
        n=1;
else
        if(b*b-4*a*c==0)
        n=2;
    else
        if(b*b-4*a*c>0)
        n=3;
    else
        n=4;
}
#9
T7274807562013-06-11 21:05
回复 8楼 生活无意义
真心的,非常感谢你!
1