本帖最后由 jackz007 于 2020-12-30 00:39 编辑 #include <stdio.h>
double estd[] = {4 , 0 , 0.6 , 3000 , 0.1 , 5000 , 0.2 , 7000 , 0.3} ;
double ecost(int n)
{
double d , p , r ;
int c , e , i ;
for(c = i = p = r = 0 , e = estd[0] ; c < n && c < estd[2 * e - 1] && i < e - 1 ; i ++) {
for(p += estd[2 + i * 2] ; c < n && c < estd[3 + 2 * i] ; c ++) r += p ;
}
if(n > estd[2 * e - 1]) r = r + (n - estd[2 * e - 1]) * (p + estd[e * 2]) ;
return r ;
}
int main(void)
{
int d ;
printf("输入用电度数 : ") ;
scanf("%d" , & d) ;
printf("应缴电费 %.2lf 元\n" , ecost(d)) ;
}
编译、运行实况D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
输入用电度数 : 10000
应缴电费 8600.00 元
D:\00.Excise\C>
|