C 语言详解 之 棒球安打率的计算

    技术2024-07-27  72

    #include <stdio.h>int main(){ FILE*inp, *outp; inp = fopen("input.txt","r"); outp = fopen("output.txt","w"); int ID; char ch; double result; double num_O = 0.000; double num_H = 0.000; int status=fscanf(inp,"%d",&ID); while(EOF != status) {  status = fscanf(inp,"%c",&ch);  if('H' == ch)  {   num_H++;  }  else if('O' == ch)  {   num_O++;  }  else if('/n' == ch)  {   int temp = (int)(num_H*1000.000/(num_H+num_O)+0.5);   result = (double)(temp/1000.000);   fprintf(outp,"%d    安打率:%.3f/n",ID,result);   printf("%d    安打率:%.3f/n",ID,result);   num_O = 0.000;            num_H = 0.000;   status = fscanf(inp,"%d",&ID);  } }

     return 0;

    }

     

     

    在程序中实现了从文本读取数据和存入数据,为了方便也在控制台显示;

    注意文本的结束标志

     

    其中实现计算结果的四舍五入,主要是 + 0.5;

    注意小数点的位置

     

    最新回复(0)