第三次作业

代码如下:
#include<stdio.h>
int main()
{
float p1=0,p2=0,p3=0;
float l=0,u=1,temp;
float a=0;
int i=0;
int count[100],b;
float result=1;
scanf("%f",&p1);
scanf("%f",&p2);
scanf("%f",&p3);
a=p1+p2;
a=a+p3;
if(a!=1)
printf("输入错误\n");
scanf("%d",&b);
for( i=0;i<b;i++)
{
scanf("%d",&count[i]);
}
p1=p1;
p2=p1+p2;
p3=p2+p3;
i=0;
do
{
temp=u;
if(count[i]==1)
{
u=l+(u-l)*p1;
l=l+(temp-l)*l;
}
else if(count[i]==2)
{
u=l+(u-l)*p2;
l=l+(temp-l)*p1;
}
else if(count[i]==3)
{
u=l+(u-l)*p3;
l=l+(temp-l)*p2;
}
else
break;
float c;
c=(l+u)/2;
printf("a%d %f\n",count[i],c);
i++;
}while(i<b);
return 0;
}
结果如下:

代码如下:
#include<stdio.h>
int main()
{
float p1=0,p2=0,p3=0;
float l=0,u=1,temp,t,temp1;
float a=0;
int i=0;
float c;
float tag=0.6321599;
int b;
float result=1;
scanf("%f",&p1);
scanf("%f",&p2);
scanf("%f",&p3);
a=p1+p2;
a=a+p3;
if(a!=1)
printf("输入错误\n");
p1=p1;
p2=p1+p2;
p3=p2+p3;
i=0;
do
{
t=(tag-l)/(u-l);
temp=u;
temp1=l;
if(0<t&&t<p1)
{
u=l+(u-l)*p1;
l=l+(temp-l)*0;
printf("1\n");
}
else if(p1<t&&t<p2)
{
u=l+(u-l)*p2;
l=l+(temp-l)*p1;
printf("2\n");
}
else if(p2<t&&t<p3)
{
u=l+(u-l)*p3;
l=l+(temp-l)*p2;
printf("3\n");
}
else
break;
i++;
}while(i<10);
return 0;
}


浙公网安备 33010602011771号