我是一个新手,下面是我做的,请高手帮我评评意见。
我不知道,为什么,在最后我将%lf,改成%ld,或者%d,结果M都是错的,Mx到现在我也不知道该怎么搞,没有结果。
谢谢。
#include "stdio.h"
#include "math.h"
#include "conio.h"
main ()
{
int t01,t02;
double q,l,x,t,M,Mx;
window(20,5,50,25);
textbackground(2);
clrscr ();
textcolor(3);
window (10,5,30,15);
cprintf ("please choose the type of support(left):,(right)\n");
cprintf ("1 stand for hinged support\n");
cprintf ("2 stand for fixed support\n");
cprintf ("please input the load q:\nplease input the span l:\n");
cprintf ("please input the distance of the poit from 1 : l\n");
scanf ("%d,%d,%lf,%lf",&t01,&t02,&q,&l,&x);
t=x*l;
switch (t01)
{
case 1:switch (t02)
{
case 1:M=q*l*l/8,Mx=q*t*(l-t)/2;break;
case 2:M=q*l*l/16,Mx=q*t*(l-t)/2-q*t;break;
}
break;
case 2:switch (t02)
{
case 1:M=q*l*l/16,Mx=q*t*(l-t)/2-q*(l-t);break;
case 2:M=q*l*l/24,Mx=q*t*(l-t)/2-q*l*l/12;break;
}
default: printf ("error\n");
}
cprintf ("the moment is %lf:\n",M);
cprintf ("Mx= %lf:\n",Mx);
getch ();
}
[求助]请问,M,和Mx怎么都是错的?