#include <stdio.h> int money(int n; int x) { float y; if (n <= 3) { y = 13 + 1; } else if (x<5||x >= 23) { y = 13 + 1 + 2.3*(1 + 0.2)*(n - 3); } else { y = 13 + 1 + 2.3*(n - 3); } return y; } int main() { float sum ; sum =money(12,9)+money(12,6); printf_s("小明每天打车的费用为%f", sum); return 0; }
printf_s会检查用户自定义的格式字符串是否合法,而printf只会检查printf只会检查格式字符串是否为空,学到了,哈哈
还有,你那个int money(int n; int x),这里用的是中文的括号,这才是英文的括号()
时间条件应该用&&
if-else需要嵌套,时间是一个条件,里程数是一个条件。
#include <stdio.h>
double gg(int t1, int t2, int j)
{
double m;
if(t1>5 && t2<=23)
{
m = 13 + (j-3)*2.3 + 1;
}
else
{
m = 13 + (j-3)*2.3*1.2 + 1;
}
return m;
}
int main()
{
double a = gg(9,18,12);
a = gg(9,18,12);
printf("小明每天打车的总费用为%lf\t元", a*2);
return 0;
}