例49:从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。
解题思路:题目要求输入的数小于1000,为了增加程序的灵活性,定义符号常量M为1000,如果题目要求输入的数小于10000,只需修改define指令即可,不必修改主函数。
源代码演示:
#include<stdio.h>//头文件
#include<math.h>//为了调用sqrt函数
#define M 1000 //宏定义
int main()
{
int number,number_Sqrt;//定义整型变量
printf("请输入一个小于%d的数i:",M);//提示语句
scanf("%d",&number);//键盘输入
if(number>M) //求平方根之前,先进行一个合法性检验
{ printf("输入的数据不是整数,请重新输入一个小于%d的整数i:",M);//提示语句
scanf("%d",&number);//键盘输入
}
number_Sqrt=sqrt(number);//输入的数的平方根是
printf("%d的平方根的整数部分是%d\n",number,number_Sqrt);//输出结果
return 0;//主函数返回值为0
}
编译运行结果如下:
请输入一个小于1000的数i:16
16的平方根的整数部分是4
--------------------------------
Process exited after 6.093 seconds with return value 0
请按任意键继续. . .
文章来源: zhuanlan.zhihu.com,作者:,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/340785629