楼主你好。
很简单:
#include
#include
int main(){
int input;
while(1){
scanf("%d",&input);
if(input<=0){//判断用户输入是否为正整数
printf("Please input a positive integer!\n");
continue;
}
printf("%c\n",(pow((int)sqrt(input),2)==input)?'Y':'N');
}
return 0;
}
//解释下,sqrt(input)会得到input的平方根,强制转换为int之后只要是非平方数就会丢失小数,导致再求平方之后不再与input相等了。
这样就能符合你的要求了。
输出:
-100
Please input a positive integer!
144
Y
225
Y
123
N
321
N