disaste0_0 2022-09-28 00:17 采纳率: 81.6%
浏览 198
已结题

设置一个范围在c语言中

要求用户为表格输入一个下限和上限,但要设置限制,使输入保持在0和50之间。使用一个for循环但我不清楚怎么让这个上下限放进for循环

#include<stdio.h>
#include<conio.h>
#include <math.h>
int main(void)
{
// input value
int num, lower, upper;
double squareroot;
int square;
int cube;

printf("enter your number:\n");
scanf_s("%d", &num);

//set the limit for table
    printf("the lower value limit is ");
    scanf_s("%d", &lower);
    printf("the upper value limit is ");
    scanf_s("%d", &upper);

    // the formular to find the squareroot, square, cube
    squareroot = sqrt(num);
    square = num * num;
    cube = num * num * num;

    //a for loop
    for (num = 0; num < 51; num++) {

        printf("*square root*  ||  *square*  ||  *cube*");
        printf("*%f*  ||  *%ld*  ||  *%ld*", squareroot, square, cube);

    }

return 0;
运行结果及不能很整齐而且没能限制一个范围
我的解答思路和尝试过的方法
最后的运行结果想显示一个表格就像这样的

平方根 | 平方 | 立方
4:2 | 16 | 64

  • 写回答

1条回答 默认 最新

  • 浪客 2022-09-28 01:42
    关注
    根据你的再改一下。
    
    int main()
    { // input value
        int num, lower, upper;
        double squareroot;
        int square;
        int cube;
    
        printf("enter your number:\n");
        scanf_s("%d", &num);
        for (int n = 0; n < num; n++)
        {
    
            // set the limit for table
            do
            {
                printf("the lower value limit is ");
                scanf_s("%d", &lower);
            } while (lower < 0 || lower > 50);
    
            do
            {
                printf("the upper value limit is ");
                scanf_s("%d", &upper);
            } while (upper < 0 || upper > 50);
    
            // the formular to find the squareroot, square, cube
            printf("┌─────────────────────────────────────────┐\n");
            printf("│ num │  square root  │  square  │  cube  │\n");
            // a for loop
            for (int i = lower; i <= upper; i++)
            {
    
                printf("├─────────────────────────────────────────┤\n");
                squareroot = sqrt(i);
                square = i * i;
                cube = i * i * i;
                printf("│ %3d │  %11f  │  %6d  │ %6d │\n", i, squareroot, square, cube);
            }
            printf("└─────────────────────────────────────────┘\n");
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月28日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗