#include<stdio.h>
void main()
{
float sum(int h,int ODO);
int c,i,xh,xODO;
float zsum=0,s;
printf("请输入做了几次车:\n");
scanf("%d",&c);
c++;
for(i=1;i<c;i++)
{
printf("请输入第%d次的时间和路程:",i);
scanf("%d %d",&xh,&xODO);
s=sum(xh,xODO);
zsum=zsum+s;
}
printf("总共花了%d",zsum);
}
float sum(int h,int ODO)
{
float PI=2.3,ZF=0.2;
int FF=13,BS=1;
float he;
if(h>=5&&h<23)
{
if(ODO>3)
{
he=(ODO-3)*PI+BS+FF;
}
else
{
he=BS+FF;
}
}
if(h>23&&h<=24||h>0&&h<5)
{
if(ODO>3)
{
he=(ODO-3)*(1+ZF)*PI+BS+FF;
}
else
{
he=BS+FF;
}
}
return he;
}
错因:main函数里面最后那个printf函数里,应该是%f,而不是%d。
#include <stdio.h>
int Charge(int t,int m)
{
float sum; //打车费
const float p = 2.3; //单价
const float q = 13; //起步价
if(m <= 3) //判断距离m<=3时的2种情况。
{
if(5<t || t<23)
{ sum =q ;
sum ++;
return sum;
}
else
{ sum = q + m*0.2*p;
sum ++;
return sum;
}
}
if(m >3) //判断距离m>3时的2种情况。
{
if(5<t || t<23)
{ sum =q + p * (m-3);
sum ++;
return sum;
}
else
{ sum = q + p * (m-3) + p * 0.2 * m;
sum ++;
return sum;
}
}
}
int main()
{
int x = 9;
int y = 6;
int z = 12;
float am = Charge(x,z);
float pm = Charge(y,z);
float money = am + pm;
printf("小明每天的打车的总费用是:%.2f\n",money);
return 0;
}
这是写的,上面有注视,理解了倒不是很难,希望能帮助你!!!
再没得到你的回答之前,我用了两天找到了这个错误