重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
不懂什么是/n@如果是换行则为/n。
成都创新互联公司专业为企业提供富拉尔基网站建设、富拉尔基做网站、富拉尔基网站设计、富拉尔基网站制作等企业网站建设、网页设计与制作、富拉尔基企业网站模板建站服务,十载富拉尔基做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
int
a=3,b=4,c=5,t=99;
if(b
if(a
printf(%d%d%d/n,a,b,c);
的结果是4,5,99.
第一个IF语句为假,继续执行a=5;c=99;
第二个IF语句为真,执行t=4;b=5;a=4.
所以结果为4.5.99
单独一个if 是没限制的,如果加上else 的话就有限制了,大概100多吧,因不同变异器而定
感觉是内存错误。scanf("%f,%f",lower,upper);这个地方赋值未成功。
这样就对了
#includestdio.h
#includemath.h
#includectype.h
#includestring.h
main()
{
double i,area;
double a,b,c,lower,upper,step;
char s[3];
printf("一次函数:lin\n二次函数:qua\n指数函数:exp\n幂函数:pow\n");
printf("请输入要求的定积分的函数类型:");
gets(s);
printf("请输入积分下限和上限,用逗号隔开");
scanf("%lf,%lf",lower,upper);
step=(fabs(lower)+fabs(upper))/10000;
if(strcmp(s,"lin")==0)
{
printf("y=ax+b请输入a,b");
scanf("%lf,%lf",a,b);
area=((fabs((a*lower+b))+fabs((a*upper+b)))*(fabs(b)-fabs(a)))/2;
}
if(strcmp(s,"qua")==0)
{
printf("y=ax^2+bx+c请输入a,b,c");
scanf("%lf,%lf,%lf",a,b,c);
for(i=lower;i=upper;i+=step)
area+=fabs((a*pow(i,2)+b*lower+c))*step;
}
if(strcmp(s,"exp")==0)
{
printf("y=a^x请输入a");
scanf("%lf",a);
for(i=lower;i=upper;i=+step)
area+=fabs(pow(a,i))*step;
}
if(strcmp(s,"pow")==0)
{
printf("y=x^a请输入a");
scanf("%lf",a);
for(i=lower;i=upper;i+=step)
area+=fabs(pow(i,a))*step;
}
printf("定积分=%f",area);
return 0;
}
一样快。
for
(i=-5;
i=5;
i++)
循环变量
i
=
-5,-4,-3,-2,-1,0,1,2,3,4,5
共算
11次
if
(
)
{part1}
else
{part2}
相当双向开关,真转向part1,假转向part2
现在
{part1}
{part2}
一样,都是空。
所以11次循环,无论条件如何,都执行
11次空。故一样快。
-------------------------------------------------------
for
(i=-5;
i=5;
i++)
{
if
(i
0);}
for
(i=-5;
i=5;
i++)
{
if
(i
0);}
11次循环,各执行
5
次空,
前者
i=1,2,3,4,5执行,后者
-1,-2,-3,-4,-5执行。
故一样快。
-----------------------------------------------
for
(i=-5;
i
5;
i++)
{
if
(i
0);}
for
(i=-5;
i
5;
i++)
{
if
(i
0);}
10次循环,
前者
i=1,2,3,4
执行空,
后者
-1,-2,-3,-4,-5执行空
前者快。
如果a=5 b=4 c=3,因为ab 固执行第一个if语句 执行后a=4 b=5 c=3 t=5,进入第二个if语句判断a=4c=3故执行第二个if语句,执行后a=3 b=5 c=4 t=4 ,进入第三个if语句判断b=5c=4,故执行第三个if语句,所以当输入为5,4,3时 执行了三个if语句!