You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写英寸转码/英尺/英寸的C程序及题目示例疑问解答

英寸转码、英尺、英寸的C程序解析与实现

题目逻辑解析

题目要求编写C程序处理多个英寸长度值,将每个值转换为**码(yd)、英尺(ft)、英寸(in)**的组合格式,核心是单位换算逻辑:

  • 1码 = 3英尺 = 36英寸
  • 1英尺 = 12英寸

以示例输入100英寸为例,计算过程如下:

  1. 先求码数:用总英寸数除以36,取整数商,100 / 36 = 2,即2码;剩余未转换的英寸数为100 % 36 = 28。
  2. 再求英尺数:用剩余的28英寸除以12,取整数商,28 / 12 = 2,即2英尺;最后剩余的英寸数为28 % 12 = 4。
  3. 最终组合结果就是2 yd 2 ft 4 in。

输入终止标记推荐用负数(比如输入-1),因为整数输入场景下,负数不可能是长度值,逻辑合理且用户操作简单。

C程序实现

以下是完整的程序代码,包含输入循环、单位转换和结果输出:

#include <stdio.h>

int main() {
    int total_inches;
    
    printf("请输入英寸长度(输入负数终止程序):\n");
    // 循环读取输入,直到输入负数或非整数
    while (scanf("%d", &total_inches) == 1 && total_inches >= 0) {
        // 计算码数和剩余英寸
        int yards = total_inches / 36;
        int remaining = total_inches % 36;
        
        // 计算英尺数和最终剩余英寸
        int feet = remaining / 12;
        int inches = remaining % 12;
        
        // 按指定格式输出结果
        printf("%d yd %d ft %d in\n", yards, feet, inches);
        
        printf("请输入下一个英寸长度(输入负数终止程序):\n");
    }
    
    printf("程序已终止。\n");
    return 0;
}

代码说明

  • 循环条件:scanf("%d", &total_inches) == 1确保成功读取整数,total_inches >= 0作为终止判断,输入负数时退出循环。
  • 单位转换:利用整数除法(/)取商得到高一级单位的数量,取余运算(%)得到剩余的低级单位数量,符合单位换算的逻辑。
  • 交互提示:每次输入后给出明确提示,提升用户体验。

内容的提问来源于stack exchange,提问作者Antony Muigai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 14:55:15