poj2163
#include <stdio.h> #include <stdlib.h> int main() { int m,n,k,i,j,flag=0; double arr[10000]; scanf("%d %d %d",&m,&n,&k); for(i=0;i<k;i++) { scanf("%lf",&arr[i]); } for(i=n-1;i<k;i++) { double pim=0,pin=0; for(j=i;j>i-m;j--)//从前往后加执行几次,就让j>i-几 { pim+=arr[j]; } pim/=m; for(j=i;j>i-n;j--) { pin+=arr[j]; } pin/=n; if(pim > pin) { if(i+1 == n){ printf("BUY ON DAY %d\n",i+1); flag=1; continue; } if(flag==0) { printf("BUY ON DAY %d\n",i+1); } flag=1;//让flag来记录上一次是属于哪种情况,flag=0和1分别表示两种情况将flag的赋值放在 }//后面是因为上次记录的请情况才能拿出来用 else { if(i+1 == n){ printf("SELL ON DAY %d\n",i+1); flag=0; continue; } if(flag==1) { printf("SELL ON DAY %d\n",i+1); } flag=0; } } return 0; }