急!!!!c语言问题!!
求助!这个程序的问题差不多都相同,可我找不出为什么会有这些问题,请高手帮帮忙吧!c(57):errorC2143:syntaxerror:missing';'before...
求助!这个程序的问题差不多都相同,可我找不出为什么会有这些问题,请高手帮帮忙吧!
c(57) : error C2143: syntax error : missing ';' before 'type'
c(58) : error C2075: 'c' : array initialization needs curly braces
c(96) : error C2143: syntax error : missing ';' before 'type'
c(99) : error C2065: 'na' : undeclared identifier
c(99) : error C2109: subscript requires array or pointer type
c(99) : error C2106: '=' : left operand must be l-value
c(101) : error C2065: 't' : undeclared identifier
c(101) : error C2106: '=' : left operand must be l-value
c(105) : error C2109: subscript requires array or pointer type
c(105) : warning C4013: 'hanshu3' undefined; assuming extern returning int
#include<stdio.h>
#include<math.h>
#define C 30*3.1415926/180
#define A 2.8
#define D 7
#define H 4
#define P 90
#define Q 70
int hanshu1()
{double xm;
int nm,t=1,n=0,m;
for(m=0;m<P/(D+1/2*H);m++)
{xm=m*(D+1.0/2*H);
nm=(int)((Q-(Q*xm)/P)/A);
n+=nm;}
return n;
}
int hanshu2(double f)
{double bm,k,b0,x,y,x3,y3,c[4]={0},r;
int nm,n=0,i,j,m;
k=tan(f);
b0=-k*P;
for(m=0;m<=(Q-b0)/((D+H/2)*sqrt(k*k+1));m++)
{bm=b0+m*(D+H/2)*sqrt(k*k+1);
x=-(bm/k);
y=bm;
x3=(P*Q-bm*P)/(Q+k*P);
y3=(k*P*Q+bm*Q)/(k*P+Q);
if(x>0&&x<P&&y>0&&y<Q)
{c[0]=bm*tan(C+f)/k;
c[1]=bm;
}
else if((x>P&&y>0&&y<Q)||(x<0&&y>0&&y<Q))
{c[0]=bm;
c[1]=y3-x3*tan(C+f);
}
else if((x>0&&x<P&&y>Q)||(x>0&&x<P&&y<0))
{c[0]=bm*tan(C+f)/k;
c[1]=y3-x3*tan(C+f);
}
if(m>0)
{for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
{if(c[j]>c[i])
{r=c[i];
c[i]=c[j];
c[j]=r;
}
nm=(int)((c[0]-c[1])*cos(C+f)/A);
}
c[2]=c[0];
c[3]=c[1];
n+=nm;
}
return n;
}
int hanshu3(double f)
{double bm,k,b0,x,y,x3,y3,c[4]=0,r;
int nm,n=0;
k=tan(f);
b0=0;
for(m=0;m<=(Q-b0)/((D+H/2)*sqrt(k*k+1));m++)
{bm=b0+m*(D+H/2)*sqrt(k*k+1);
x=-(bm/k);
y=bm;
x3=(P*Q-bm*P)/(Q+k*P);
y3=(k*P*Q+bm*Q)/(k*P+Q);
if(x>0&&x<P&&y>0&&y<Q)
{c[0]=bm*tan(C+f)/k;
c[1]=bm;
}
else if((x>P&&y>0&&y<Q)||(x<0&&y>0&&y<Q))
{c[0]=bm;
c[1]=y3-x3*tan(C+f);
}
else if((x>0&&x<P&&y>Q)||(x>0&&x<P&&y<0))
{c[0]=bm*tan(C+f)/k;
c[1]=y3-x3*tan(C+f);
}
if(m>0)
{for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
{if(c[j]>c[i])
{r=c[i];
c[i]=c[j];
c[j]=r;
}
nm=(int)((c[0]-c[1])*cos(C+f)/A);
}
c[2]=c[0];
c[3]=c[1];
n+=nm;
}
return n;
}
void main()
{double f;
int na[1000],t=0,i,j,z;
na[0]=hanshu1();
for(f=0;f<90;f=f+1)
{na[t]=hanshu2(f);
t++;
}
for(f=180;f>90;f=f-1)
{na[t]=hanshu3(f);
t++;
}
for(i=0;i<t;i++)
for(j=i+1;j<t;j++)
{if(na[i]<na[j])
{z=na[i];
na[i]=na[j];
na[j]=z;
}
printf("%d",na[0]);
} 展开
c(57) : error C2143: syntax error : missing ';' before 'type'
c(58) : error C2075: 'c' : array initialization needs curly braces
c(96) : error C2143: syntax error : missing ';' before 'type'
c(99) : error C2065: 'na' : undeclared identifier
c(99) : error C2109: subscript requires array or pointer type
c(99) : error C2106: '=' : left operand must be l-value
c(101) : error C2065: 't' : undeclared identifier
c(101) : error C2106: '=' : left operand must be l-value
c(105) : error C2109: subscript requires array or pointer type
c(105) : warning C4013: 'hanshu3' undefined; assuming extern returning int
#include<stdio.h>
#include<math.h>
#define C 30*3.1415926/180
#define A 2.8
#define D 7
#define H 4
#define P 90
#define Q 70
int hanshu1()
{double xm;
int nm,t=1,n=0,m;
for(m=0;m<P/(D+1/2*H);m++)
{xm=m*(D+1.0/2*H);
nm=(int)((Q-(Q*xm)/P)/A);
n+=nm;}
return n;
}
int hanshu2(double f)
{double bm,k,b0,x,y,x3,y3,c[4]={0},r;
int nm,n=0,i,j,m;
k=tan(f);
b0=-k*P;
for(m=0;m<=(Q-b0)/((D+H/2)*sqrt(k*k+1));m++)
{bm=b0+m*(D+H/2)*sqrt(k*k+1);
x=-(bm/k);
y=bm;
x3=(P*Q-bm*P)/(Q+k*P);
y3=(k*P*Q+bm*Q)/(k*P+Q);
if(x>0&&x<P&&y>0&&y<Q)
{c[0]=bm*tan(C+f)/k;
c[1]=bm;
}
else if((x>P&&y>0&&y<Q)||(x<0&&y>0&&y<Q))
{c[0]=bm;
c[1]=y3-x3*tan(C+f);
}
else if((x>0&&x<P&&y>Q)||(x>0&&x<P&&y<0))
{c[0]=bm*tan(C+f)/k;
c[1]=y3-x3*tan(C+f);
}
if(m>0)
{for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
{if(c[j]>c[i])
{r=c[i];
c[i]=c[j];
c[j]=r;
}
nm=(int)((c[0]-c[1])*cos(C+f)/A);
}
c[2]=c[0];
c[3]=c[1];
n+=nm;
}
return n;
}
int hanshu3(double f)
{double bm,k,b0,x,y,x3,y3,c[4]=0,r;
int nm,n=0;
k=tan(f);
b0=0;
for(m=0;m<=(Q-b0)/((D+H/2)*sqrt(k*k+1));m++)
{bm=b0+m*(D+H/2)*sqrt(k*k+1);
x=-(bm/k);
y=bm;
x3=(P*Q-bm*P)/(Q+k*P);
y3=(k*P*Q+bm*Q)/(k*P+Q);
if(x>0&&x<P&&y>0&&y<Q)
{c[0]=bm*tan(C+f)/k;
c[1]=bm;
}
else if((x>P&&y>0&&y<Q)||(x<0&&y>0&&y<Q))
{c[0]=bm;
c[1]=y3-x3*tan(C+f);
}
else if((x>0&&x<P&&y>Q)||(x>0&&x<P&&y<0))
{c[0]=bm*tan(C+f)/k;
c[1]=y3-x3*tan(C+f);
}
if(m>0)
{for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
{if(c[j]>c[i])
{r=c[i];
c[i]=c[j];
c[j]=r;
}
nm=(int)((c[0]-c[1])*cos(C+f)/A);
}
c[2]=c[0];
c[3]=c[1];
n+=nm;
}
return n;
}
void main()
{double f;
int na[1000],t=0,i,j,z;
na[0]=hanshu1();
for(f=0;f<90;f=f+1)
{na[t]=hanshu2(f);
t++;
}
for(f=180;f>90;f=f-1)
{na[t]=hanshu3(f);
t++;
}
for(i=0;i<t;i++)
for(j=i+1;j<t;j++)
{if(na[i]<na[j])
{z=na[i];
na[i]=na[j];
na[j]=z;
}
printf("%d",na[0]);
} 展开
13个回答
展开全部
第一级指向数组,第二级指向数组的某元素。其实数组里面的元素是字符串,也是一个字符数组,但是数组的指针地址就是首元素的地址,所以。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为char*
cNames[]是定义指向字符串的指针数组啊,里面的各个数组元素是一个指向字符串的指针
cNames[]是定义指向字符串的指针数组啊,里面的各个数组元素是一个指向字符串的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误太多自己慢慢找,你很多{,}都没匹配。另外很多i,j,没定义
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个程序写的有点乱,我发现你主函数里面没有定义t,只在huanshu1里面定义了,但是你主函数就直接调用了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main()
{int
year;
printf("Please
input
the
year:");
scanf("%d",&year);
if
((year%4==0
&&
year%100!=0)||(year%400==0))
printf("%d
is
a
leap
year.\n",year);
else
printf("%d
is
not
a
leap
year.\n",year);
getch();
}
{int
year;
printf("Please
input
the
year:");
scanf("%d",&year);
if
((year%4==0
&&
year%100!=0)||(year%400==0))
printf("%d
is
a
leap
year.\n",year);
else
printf("%d
is
not
a
leap
year.\n",year);
getch();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询