从键盘输入小于1000的正数(需要判断输入数据),输出其平方根(取整)
编译环境VS2017
需要判断输入数据是否符合要求,如不符合必须重新输入,需要用到循环语句
如下:
for (; num >=1000||num<0;) {
printf("您的输入有误,请重新输入\n");
scanf("%lf", &num);
}
输出其平方根如是小数,需要对其转化为整数。
因所输入正数也不一定为整数,所以定义为double类型,用sqrt()函数时需要对其强制转化为整型
printf("%lf的平方根是%d\n", num, (int)sqrt(num));
具体代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main() {
double num ;
printf("请输入小于1000的正数\n");
scanf("%lf", &num);
for (; num >=1000||num<0;) {
printf("您的输入有误,请重新输入\n");
scanf("%lf", &num);
}
printf("%lf的平方根是%d\n", num, (int)sqrt(num));
system("pause");
}
运行结果如图: