鱼C论坛

 找回密码
 立即注册
查看: 1859|回复: 4

[已解决]C语言初学,按要求写个代码

[复制链接]
发表于 2023-10-18 16:53:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入
最佳答案
2023-10-18 16:54:09
这是一个比较基础的问题,需要用到C语言的数学库函数和流程控制语句。以下是一个解决方案,希望对你有所帮助。
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main() {
  4.     int n;
  5.     do {
  6.         printf("请输入一个小于1000的正数: ");
  7.         scanf("%d", &n);
  8.     } while (n <= 0 || n >= 1000);
  9.     int root = sqrt(n);
  10.     printf("%d的平方根为%d\n", n, root);
  11.     return 0;
  12. }
复制代码

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

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

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-18 16:53:25 | 显示全部楼层
你可以使用以下代码来实现这个要求:

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

  3. int main() {
  4.     int num;
  5.    
  6.     do {
  7.         printf("请输入一个小于1000的正数:");
  8.         scanf("%d", &num);
  9.     } while (num <= 0 || num >= 1000);
  10.    
  11.     int squareRoot = (int)sqrt(num);
  12.     printf("平方根为:%d\n", squareRoot);
  13.    
  14.     return 0;
  15. }
复制代码


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

使用道具 举报

发表于 2023-10-18 16:54:09 | 显示全部楼层    本楼为最佳答案   
这是一个比较基础的问题,需要用到C语言的数学库函数和流程控制语句。以下是一个解决方案,希望对你有所帮助。
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main() {
  4.     int n;
  5.     do {
  6.         printf("请输入一个小于1000的正数: ");
  7.         scanf("%d", &n);
  8.     } while (n <= 0 || n >= 1000);
  9.     int root = sqrt(n);
  10.     printf("%d的平方根为%d\n", n, root);
  11.     return 0;
  12. }
复制代码

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

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

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-18 16:54:12 | 显示全部楼层
以下是一个简单的C语言程序,它满足了你的要求:

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

  3. int main() {
  4.     int num;
  5.     do {
  6.         printf("请输入一个小于1000的正数: ");
  7.         scanf("%d", &num);
  8.         if(num <= 0 || num >= 1000) {
  9.             printf("输入错误,请重新输入。\
  10. ");
  11.         }
  12.     } while(num <= 0 || num >= 1000);

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

  16.     return 0;
  17. }
复制代码


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

使用道具 举报

发表于 2023-10-18 19:07:27 | 显示全部楼层
本帖最后由 六翻了 于 2023-10-18 19:08 编辑

有问题,先看看论坛上有没有相关内容

下面是求平方根的函数


sqrt -- 求平方根
https://fishc.com.cn/thread-69735-1-1.html
(出处: 鱼C论坛)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 05:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表