编写一个程序,提示用户从键盘输入一个星期的薪水(以美元为单位)和工作时数,它们均为浮点数,然后计算并输出每个小时的平均薪水,输出格式如下所示:
your average hourly pay rate is 7 dollars and 54 cents.(翻译:你的平均小时工资率是7美元,54美分。)
下面是我编写的:
#include <stdio.h>
int main()
{
double a=0; //一个星期的薪水
double b=0; //每天工作时间
double c=0; //计算出来的平均小时工资率
printf("请输入一个星期的薪水和每天工作时间:");
scanf("%lf %lf",&a,&b);
c=a/7/b;
printf("your average hourly pay rate is %.2f. \n",c);
return 0;
}
现在就是一个问题,怎么写成输出如上面所说的格式,请老师指点。
比如我现在输入654 8,回车后输出11.68.
按我上面编写的输出为:your average hourly pay rate is 11.68.
怎么能让它格式为your average hourly pay rate is 11 dollars and 68 cents.
3 个解决方案
#1
#include <stdio.h>
int main()
{
double a = 0; //一个星期的薪水
double b = 0; //每天工作时间
double c = 0; //计算出来的平均小时工资率
printf("请输入一个星期的薪水和每天工作时间:");
scanf("%lf%lf", &a, &b);
c = a / 7 / b;
printf("your average hourly pay rate is %d dollars and %d cents.\n", (int)c, (int)((c - (int)c) * 100));
return 0;
}
#2
11可以通过转换为整型,或者使用floor函数得到,68可以通过原数减去上一步得到的结果之后再乘100得到(乘100是单位换算成分)
#3
恩,看明白了,非常感谢你们!
#1
#include <stdio.h>
int main()
{
double a = 0; //一个星期的薪水
double b = 0; //每天工作时间
double c = 0; //计算出来的平均小时工资率
printf("请输入一个星期的薪水和每天工作时间:");
scanf("%lf%lf", &a, &b);
c = a / 7 / b;
printf("your average hourly pay rate is %d dollars and %d cents.\n", (int)c, (int)((c - (int)c) * 100));
return 0;
}
#2
11可以通过转换为整型,或者使用floor函数得到,68可以通过原数减去上一步得到的结果之后再乘100得到(乘100是单位换算成分)
#3
恩,看明白了,非常感谢你们!