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

如何用C语言生成带范围限制的基数、平方根、平方、立方数值表

C语言实现可自定义范围的基数计算表格

原代码存在以下问题:

  • 多余的单独基数输入,不符合“按上下限生成连续数值表格”的需求
  • 计算逻辑放在循环外,仅执行一次,无法更新每个基数的计算结果
  • 循环起始值错误(从0而非下限开始),且每次循环重复打印表头
  • 输出占位符与变量类型不匹配,且输出了错误的变量(用下限代替当前循环的基数)
  • 未校验上限是否大于等于下限,可能导致无效循环

以下是修正后的代码:

#include <stdio.h>
#include <math.h>

int main(void)
{
    int lower, upper;

    // 输入并校验下限
    do
    {
        printf("请输入下限值(0-50):");
        scanf_s("%d", &lower);
    } while (lower < 0 || lower > 50);

    // 输入并校验上限,同时确保上限不小于下限
    do
    {
        printf("请输入上限值(0-50,且不小于下限):");
        scanf_s("%d", &upper);
    } while (upper < lower || upper > 50);

    // 打印表头,仅执行一次
    printf("| 基数 | 平方根   | 平方  | 立方  |\n");
    printf("|------|----------|-------|-------|\n");

    // 遍历从下限到上限的所有数值
    for (int num = lower; num <= upper; num++)
    {
        double squareroot = sqrt(num);
        int square = num * num;
        int cube = num * num * num;

        // 格式化输出每行内容,对齐表格
        printf("| %d    | %.4f    | %d     | %d     |\n", 
               num, squareroot, square, cube);
    }

    return 0;
}

关键修改说明

  • 移除了多余的单独基数输入,直接基于上下限生成连续数值
  • 将计算逻辑移入循环内部,每次循环都会重新计算当前基数的平方根、平方和立方
  • 表头仅打印一次,循环从下限开始到上限结束,保证覆盖目标范围
  • 修正了输出占位符,匹配变量类型,并且使用当前循环的num作为输出变量
  • 新增上限必须大于等于下限的校验,避免无效输出
  • 优化了表格格式,使用竖线分隔让内容更清晰,平方根保留4位小数提升可读性

内容的提问来源于stack exchange,提问作者aster dis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:25:22