#include
#include
#define N 3
float fee(int x)
{
double money;
assert(x>=0);
if(x<=300)
{
money=0.6*x;
}
else if(x<=600)
{
money=0.6*300+0.5*(x-300);
}
else if(x<=1000)
{
money=0.6*300+0.5*300+0.4*(x-600);
}
else
{
money=0.6*300+0.5*300+0.4*400+0.3*(x-1000);
}
return (float)money;
}
int main()
{
int a[3],i,n=N;
printf("请输入%d个客户的用电量:",n);
for(i=0;i
scanf("%d",&a[i]);
}
for(i=0;i
printf("fee(%d)=%0.1f\n",a[i],fee(a[i]));
}
return 0;
}
//该程序经过VC++6.0成功编译执行,没有任何问题,最后祝楼主学习进步。
代码如下:
#include
float fee(int);
int main()
{
int q;
printf ("请输入电费(负数结束):\n");
while (scanf("%d",&q))
{
if (q<0)
{
printf("输入结束\n");
return 0;
}
printf("fee(%d)=%.1f\n",q,fee(q));
}
return 0;
}
float fee(int x)
{
if (x<=300)
{
return x*0.6;
}
else if (x>300&&x<=600)
{
return 180+(x-300)*0.5;
}
else if (x>600&&x<=1000)
{
return 330+(x-600)*0.4;
}
else
{
return 490+(x-1000)*0.3;
}
}
希望对楼主有用~~继续努力~共同进步哈~
float fee(int x)
{
if(x>0 && x<=300)
return 0.6*x;
else if(x>=301 && x<=600)
return 300*0.6+(x-300)*0.5
else if(x>=601 && x<=1000)
return 300*0.6+300*0.5+(x-400)*0.4;
else
return 300*0.6+300*0.5+400*0.4+(x-1000)*0.3;
}
希望可以帮助你。
就是一个公式,推一下就有了。
一个分段函数而已,代码都用不了你写这么长的题目。