int fun(int n) { //从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。 // 要求在输入数据后先对其进行检查是否为小于1000 的正数。若不是,则要求重新输入。 if (n <= 0 || n >= 1000)return -1; for (int i = 1; i < n; i++) { if (i * i == n) { return i; } if (i * i > n) { return i - 1; } } }
#include #include #include #include int main(void) { float number; puts("请输入1000以内的正数"); scanf("%f", &number); while (1) { if (number < 0.0f || number>=1000.0f) { puts("请输入1000以内的正数"); scanf("%f", &number); } else { printf("%.2f的平方根为%.0f", number,sqrt(number)); break;//利用while和break限制范围 } } return 0; }
#include <stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main(void) { float number; puts("请输入1000以内的正数"); scanf("%f", &number); while (1) { if (number < 0.0f || number>=1000.0f) { puts("请输入1000以内的正数"); scanf("%f", &number); } else { printf("%.2f的平方根为%.0f", number,sqrt(number)); break;//利用while和break限制范围 } } return 0; }
#include <stdio.h> #include <math.h> int main() { int n = 0; scanf("%d", &n); while (1) { if (n > 1000) { printf("错误,请输入小于1000的数\n"); scanf("%d", &n); if (n < 1000) break; } break; } int result = sqrt(n); printf("%d的平方根是%d", n, result); }
#include<stdio.h> #include<math.h> #include<string.h> int main() { int a; scanf("%d",&a); while(1) { if(a>=1&&a<1000) break; else { printf("error\n"); scanf("%d",&a); } } printf("%.0f\n",sqrt(a)); }
解题思路: 首先判断输入...
用户登录可进行刷题及查看答案
解题思路: 首先判断输入的数字是否大于1000且是正数,然后使用sqrt函数对数据进行取平方根,最主要的是最终在输出是调整输出格式,小数部分为0位,只需要正数部分,且整数部分不会超过4位,
答案:
#include <stdio.h> #include <math.h> int main() { float a, b; scanf_s("%f", &a); if (a >= 1000 || a < 0) { printf("请输入小于1000的正数\n"); scanf_s("%f", &a); b = sqrt(a); } else { b = sqrt(a); } printf("a=%4.0f, b=%4.0f\n", a, b); system("pause");//这一句是为了让控制台不退出 return 0; }
登录后提交答案