由键盘输入一个正整数,判断该数是否为平方数,是输出Y,否则输出N。C语言怎么编程

 我来答
百度网友6567883c53
2012-12-10 · TA获得超过4737个赞
知道大有可为答主
回答量:1260
采纳率:0%
帮助的人:1372万
展开全部
楼主你好。
很简单:
#include <stdio.h>
#include <math.h>
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
百度网友6b46965
2012-12-10 · TA获得超过5583个赞
知道小有建树答主
回答量:957
采纳率:84%
帮助的人:420万
展开全部
思路: 将该数开平方得到一个数 , 看是不是整数, 如果是说明是平方银旦数, 否则不是 代码首庆如下:

#include<stdio.h>
#include<math.h>
int main()
{
double a;
while(scanf("%lf", &a) == 1) {
double temp = sqrt(a);
double ans = temp - (int)temp;//这里锋芹扰是用自身减去自身去掉小数部分的整数
if(ans == 0) {
printf("Y\n");
}
else {
printf("N\n");
}
}
return 0;
}

希望可以帮到你,如有疑问欢迎追问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cd1fc27
2012-10-28
知道答主
回答量:13
采纳率:100%
帮助的人:7.6万
展开全部
算法
第一步:输入一个正整数a
第二步:计算根号a
第三步:验宽神证取整函数根号a是否等于根号a本身,是则输出Y,否则输出N

说明:取整函数我们高指歼中就讲个,在大学学得更细,不知你们有没有学唯巧冲过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彭杰群smile
2012-12-10
知道答主
回答量:8
采纳率:0%
帮助的人:3.6万
展开全部
#include<stdio.h>
#include<math.h>
int main(){
double number;
int a;
printf("输入一个数:");
scanf("码旅%lf",&number);
a=sqrt(number);
printf("是否为平方段模镇数:");
if(a*a==number)
printf("Y\握粗n");
else
printf("N\n");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友725ff4c
2018-03-14
知道答主
回答量:12
采纳率:100%
帮助的人:2.4万
展开全部
#include<stdio.h>
main()
{
int a=0;
scanf("%d"物世,&a);
for(int i=0;i<a;i++)
{
if(i*i==a)
{
print("Y"核陪);
return;
}
}
print("N");
}
敲了半天 好久没用C了改蚂蠢 那不懂可以问我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式