题目要求:由键盘输入一个正整数,判断该数是否为平方数,是输出Y,否则输出N。
【第一组自测数据】 【第二组自测数据】
键盘输入:36↙ 键盘输入:18↙
正确输出:Y 正确输出:N
#include <stdio.h>
#include <math.h>
int main()
{
int a,b;
scanf("%d",&a);
if(b=sqrt(a))
{
if(b*b==a)
printf("Y");
else
printf("N");
}
else
printf("N");
return 0;
}
解题要点:需要使用到sqrt函数,即将整数先开方,取整,再平方,看是否能得到原来的数。需要注意的是,代码中的b=sqrt(a),需将b定义为int变量。