首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

帮小弟我修改个程序好吗

2012-03-06 
帮我修改个程序好吗?某停车场对停车三小时内的车辆收费2元。超过三小时,每小时(或不足一小时)另外收费0.5元

帮我修改个程序好吗?
某停车场对停车三小时内的车辆收费2元。超过三小时,每小时(或不足一小时)另外收费0.5元。24小时内最高收费10元,假设所有车辆停车时间都不超过24小时,编写一个程序,计算并打印停车费。输出格式:
car                 hours             charge
1                     1.5                 2.00
2                     4.0                 2.50
3                     24.0               10.00


程序如下:
#include   "stdio.h "
float   caculatecharge   (float);
main()
{
  float   c,h,charge;
  int   i;
  for(i=1;i <=3;i++)
 
  printf( "%s%20s%20s\n ", "car ", "hours ", "charge ");
 
  printf( "1%20f%20f\n ",h,charge);
  scanf( "21%f ",&h);
  printf( "%40d\n ",charge);
 
  printf( "2%20f%20f\n ",h,charge);
  scanf( "21%f ",&h);
  printf( "%40d\n ",charge);
 
  printf( "3%20f%20f\n ",h,charge);
  scanf( "21%f ",&h);
  printf( "%40d\n ",charge);
}  

  float   caculatecharge(float   h,float   charge)
  {  
  if(h <=3.0)
  charge=2.0
  if(h> =3.0   &&   h> =10.0)
  charge=2+0.5*h;
  if(h> =10.0)
  charge=10.0;
  return   charge;
  }

[解决办法]
#include <stdio.h>
#define SIZE 3
float caculatecharge (float);
int main(void)
{
float h_car[SIZE]={0} ;
int i=0 ;
for(i=1;i <=SIZE;i++)
{
printf( "Enter the time of No.%d car . ",i) ;
if(scanf( "%f ",&h_car[i-1])!=1 || /*数据错误,退出*/
h_car[i-1] <=0 || h_car[i-1]> 24 )
{printf( "Error\n "); return 0;}
}
printf( "%-22s%-20s%-20s\n ", "car ", "hours ", "charge ") ;
for(i=1; i <=SIZE; i++)
printf( "No.%-20d%-18.2f%-18.2f\n ",
i, h_car[i-1], caculatecharge (h_car[i-1])) ; /*计费函数的返回值*/
return 0 ;
}
float caculatecharge (float h)
{ if(h <=3.0) return 2.0 ;
else if(h> 3.0&&h <=18)
{
if ( h-(int)h == 0 ) return 2+(h-3)*0.5 ; /*整数个小时*/
else return 2+((int)h-2)*0.5 ; /*非整数*/
}
else return 10.0;

}

热点排行