c语言声明错误

Python022

c语言声明错误,第1张

#include <stdio.h>

#define b 1

typedef struct

{int x

int y

}xy

void fun1(int *px,int *py,int *qx,int *qy)

int fun2(int f,int d)

int M=37

void main()

{ xy p,q

int k

int i=1

p.x=p.y=q.x=q.y=0

printf("p.x=")

scanf("%d",&(p.x))

printf("\n")

printf("p.y=")

scanf("%d",&(p.y))

printf("\n")

printf("k=")

printf("\n")

scanf("%d",&k)

while(i<k)

{fun1(&(p.x),&(p.y),&(q.x),&(q.y))

i++

}

}

void fun1(int *px,int *py,int *qx,int *qy)

{int a,c

if((*qx)==0&&(*qy)==0)

{a=(3*(*px)*(*px)+b)*fun2((*py),M) ///////////////////missing a

(*qx)=a*a-2*(*px)

(*qy)=a*((*px)-(*qx))-(*py)

}

else

if(((*px)!=(*qx))||((*py)!=(*qy)))

{a=((*py)-(*qy))*fun2((*px)-(*qx),M)

(*qx)=a*a-(*px)-(*qx)

(*qy)=a*((*px)-(*qx))-(*py)

}

else

{a=(3*(*px)*(*px)+b)*fun2(2*(*py),M)

(*qx)=a*a-2*(*px)

(*qy)=a*((*px)-(*qx))-(*py)

}

}

int fun2(int f,int d)

{

int x1,x2,x3,y1,y2,y3,t1,t2,t3,q,t

x1 = y2 = 1

x2 = y1 = 0

x3 = ( f>=d )?f:d

y3 = ( f>=d )?d:f

while( 1 )

{

if ( y3 == 0 )

{

return t

}

if ( y3 == 1 )

{

t= y2

return t

}

q = x3/y3

t1 = x1 - q*y1

t2 = x2 - q*y2

t3 = x3 - q*y3

x1 = y1

x2 = y2

x3 = y3

y1 = t1

y2 = t2

y3 = t3

}

}

i++可以写在switc语句里面,但是如果写在switc语句里面,就要在每一个case、default中都加上i++

可以用很简洁的方式解决问题,也可以用很繁琐的方式解决问题,就是这个区别。

求采纳为满意回答。