第三次作业

  

代码如下:

#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;
}

  

posted @ 2015-09-16 10:41  周进刚  阅读(139)  评论(0编辑  收藏  举报