全部问题 > 当前问题

第四章第11课 我编的程序错哪了?

#include <stdio.h>

float fun ( float  h )

{float t,r;

int s,u;

t=h*1000;

s=(int)(h*100);

s=s*10;

r=t-s;

u=(int)(h*100);

if(r>=5)

{u=u+1;

return ((float)u)/100;}

else

{t=t-r;

return t/1000;}



}


main( )

{   float  a;void NONO ();

    printf ("Enter  a:  "); scanf ( "%f", &a );

    printf ( "The original data is :   " );

    printf ( "%f \n\n", a );

    printf ( "The result :  %f\n", fun ( a ) );

    NONO( );

}


void NONO ()

{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,

    输出数据,关闭文件。 */

  int i ;

  float a ;

  FILE *rf, *wf ;


  rf = fopen("in.dat","r") ;

  wf = fopen("out.dat","w") ;

  for(i = 0 ; i < 20 ; i++) {

    fscanf(rf, "%f", &a) ;

    fprintf(wf, "%f\n", fun(a)) ;

  }

  fclose(rf) ;

  fclose(wf) ;

}


赵雨豪 2015-12-26 15:40:20

共 1 个回答

最佳答案

嘿嘿大人 2015-12-26 18:38:19

我觉得你是对的,思路是对的,结果也是对的,如果你是因为科举网没有得分的话,那可能是科举网答案系统的不完善,还有你的代码确实是冗长了点,可以精简点,我帮你删除了几个不需要的句子,你可以去看看,看能行不:

int s,u,r;

s=(int)(h*1000);

r=s%10;

u=(int)(h*100);

if(r>=5)

u=u+1;

return((float)u)/100;


问题来自: 编程题真题