小羊爱吃小草 发表于 2023-10-18 16:53:01

C语言初学,按要求写个代码

从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入

isdkz 发表于 2023-10-18 16:53:25

你可以使用以下代码来实现这个要求:

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

int main() {
    int num;
   
    do {
      printf("请输入一个小于1000的正数:");
      scanf("%d", &num);
    } while (num <= 0 || num >= 1000);
   
    int squareRoot = (int)sqrt(num);
    printf("平方根为:%d\n", squareRoot);
   
    return 0;
}


这段代码使用了一个 do-while 循环来检查输入的数是否满足条件。如果不满足条件,则会要求重新输入。一旦输入的数满足条件,就会计算它的平方根并输出整数部分。注意,我们使用了 math.h 头文件中的 sqrt 函数来计算平方根,并将结果强制转换为整数类型。最后,我们返回 0 表示程序成功结束。

Mike_python小 发表于 2023-10-18 16:54:09

这是一个比较基础的问题,需要用到C语言的数学库函数和流程控制语句。以下是一个解决方案,希望对你有所帮助。


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

int main() {
    int n;

    do {
      printf("请输入一个小于1000的正数: ");
      scanf("%d", &n);
    } while (n <= 0 || n >= 1000);

    int root = sqrt(n);
    printf("%d的平方根为%d\n", n, root);

    return 0;
}


在这个程序中,我们首先定义一个整型变量n来存储用户输入的值,然后使用do-while循环来保证输入的值小于1000且大于0。如果用户输入了非法值,则要求重新输入。一旦输入的值符合要求,我们就计算其平方根并输出结果。注意,在计算平方根时,我们需要使用math.h头文件中的sprt()函数,并将结果转换为整型。

这是一个较为简单的程序,但也有一些需要注意的地方。例如,我们需要使用do-while循环而不是普通的while循环,因为我们需要至少执行一次循环体以检查用户的输入。此外,在检查输入值时,我们需要使用逻辑运算符||(或)来组合两个判断条件。最后,我们还需要在输出结果时使用printf()函数来格式化输出,以便在控制台中正确显示结果。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

陶远航 发表于 2023-10-18 16:54:12

以下是一个简单的C语言程序,它满足了你的要求:

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

int main() {
    int num;
    do {
      printf(\"请输入一个小于1000的正数: \");
      scanf(\"%d\", &num);
      if(num <= 0 || num >= 1000) {
            printf(\"输入错误,请重新输入。\
\");
      }
    } while(num <= 0 || num >= 1000);

    int sqrt_num = (int)sqrt(num);
    printf(\"输入数字的平方根(整数部分)是: %d\
\", sqrt_num);

    return 0;
}


这个程序首先提示用户输入一个小于1000的正数。如果用户输入的数不满足条件,程序会提示用户重新输入。当用户输入满足条件的数后,程序会计算并输出该数的平方根的整数部分。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案

六翻了 发表于 2023-10-18 19:07:27

本帖最后由 六翻了 于 2023-10-18 19:08 编辑

有问题,先看看论坛上有没有相关内容
下面是求平方根的函数


sqrt -- 求平方根
https://fishc.com.cn/thread-69735-1-1.html
(出处: 鱼C论坛)
页: [1]
查看完整版本: C语言初学,按要求写个代码