第三次作业
代码如下:
#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; }