C Prime Plus 第六版
编译器版本:Mac Xcode 11.6
第03章 数据和C 编程练习 8
在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。
编写程序,提示用户输入杯数,并以品脱、盎司、汤勺、茶勺为单位显示等价容量。
思考对于该程序,为何使用浮点类型比整数类型更合适
//
// main.c
// Ex08 Page 69
//
// Created by turbo on 2021/5/9.
// Copyright © 2021 LiangNuo Software Technology Co., LTD. All rights reserved.
//
/* 在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。
编写程序,提示用户输入杯数,并以品脱、盎司、汤勺、茶勺为单位显示等价容量。
思考对于该程序,为何使用浮点类型比整数类型更合适 */
#include <stdio.h>
int main(void)
{
const unsigned short int PINT_PER_CUP = 2; // 1品脱=2杯
const unsigned short int OUNCE_PER_CUP = 8; // 1杯=8盎司
const unsigned short int SOUP_SPOON_PER_OUNCE = 2; // 1盎司=2大汤勺
const unsigned short int TEA_SPOON_PER_SOUP_SPOON = 3; //1大汤勺=3茶勺
/* 输入杯数 */
float cups;
printf("输入杯数: ");
scanf("%f", &cups);
/* 品脱数 */
float pints = cups / PINT_PER_CUP;
/* 盎司数 */
float ounces = cups * OUNCE_PER_CUP;
/* 大汤勺数 */
float soupSpoon = ounces * SOUP_SPOON_PER_OUNCE;
/* 茶勺数 */
float teaSpoon = soupSpoon * TEA_SPOON_PER_SOUP_SPOON;
/* 输出品脱、盎司、汤勺、茶勺为单位显示等价容量 */
printf(" 等价容量 \n");
printf("----------------------------------------\n");
printf("品脱\t\t盎司\t\t汤勺\t\t茶勺\n");
printf("----------------------------------------\n");
printf("%.2f\t%.2f\t%.2f\t%.2f\n", pints, ounces, soupSpoon, teaSpoon);
return 0;
}
程序输出结果