这个题主要就是读懂题目,考察英语水平,其实并不难理解,但是需要耐心,所以这里希望大家能够硬着头皮自己读题,我就不进行翻译了。这里领一个考察点就是保留一位小数。我将变量设为了float型,在printf中有一个用法可以设置输出数字的形式。即printf("%.1f",x);
#include <iostream> #include <cmath> #include <iomanip> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; float p; float t; float g1; float g2; float g3; float gj; int main(int argc, char** argv) { while(scanf("%f%f%f%f%f%f",&p,&t,&g1,&g2,&g3,&gj)!=EOF){ //printf("%f %f %f %f %f %f\n",p,t,g1,g2,g3,gj); if(abs(g1-g2)<=t){ gj=(g1+g2)/2; // printf("%d\n",gj); } else{ // cout<<"我觉得不应该进来"<<endl; if(abs(g1-g3)<=t&&abs(g2-g3)<=t){ gj=max(g1,g2); gj=max(g3,gj); } else{ if(abs(g1-g3)<=t){ gj=(g1+g3)/2; } if(abs(g2-g3)<=t){ gj=(g2+g3)/2; } } } printf("%.1f\n",gj); } return 0; }