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

供稿:hz-xin.com     日期:2025-01-13
寻求C语言程序设计代码:实现“输入一个正整数,判断该数是否为平方数,是就输出Y ,否则输出N”。

#include
#include
#include
int main()
{
int n;
double m;
scanf("%d",&n);
m=sqrt(n);
if(m==floor(m+0.5)) //将n平方根与n的平方根的整数部份进行比较
printf("yes"); //若二者相等,则为平方数
else
printf("no");
}

楼主你好。
很简单:
#include
#include
int main(){
int input;
while(1){
scanf("%d",&input);
if(input<=0){//判断用户输入是否为正整数
printf("Please input a positive integer!
");
continue;
}
printf("%c
",(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

楼主你好。
很简单:
#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

思路: 将该数开平方得到一个数 , 看是不是整数, 如果是说明是平方数, 否则不是 代码如下:

#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;
}

希望可以帮到你,如有疑问欢迎追问

#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;
}

调用sqrt()

C语言编程!任意输入十个整数 ,查找整数X(X由键盘输入)
代码如下不知道符合你的要求不?:include <stdio.h> define MAX 10 int main (){ int Find(const int* ,int ,int ); \/\/查找函数 int a[MAX],i,x;\/\/循环输入10个数 for(i=0;i<MAX;i++)scanf("%d",a+i);\/\/输入待查到的数 scanf("%d",&x);\/\/调用函数查找 i=Find(a,MAX,x...

跪求!! 由矩阵键盘实现LED灯按1键亮第一个灯,按2键依次亮八个灯,按3...
include <reg51.h> include <intrins.h> define uchar unsigned char define uint unsigned int uchar dis_buf; \/\/显示缓存 uchar temp;uchar key; \/\/键顺序吗 void delay0(uchar x); \/\/x*0.14MS define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};\/\/ 此...

c语言字符串-由键盘输入一行英文句子,输出字符最多的单词。
这个while一直为真 while(c[j]!=' ')i++;这个复制单词是错误的 for(m=0;m<a;m++)b[m]=c[j];我改了一下程序,应该使用下面的比较好。include<stdio.h> include<string.h> int main() { \/\/a 单词的临时最大长度 \/\/i 每个单词的长度 \/\/len 输入的字符的字符个数 int a = 0, ...

在C语言中,怎么样由键盘输出一个不限定长度的字符串?
9 2008-10-28 如何在c语言中计算字符串长度 33 2013-11-27 呵呵,问一个C语言里字符串长度的问题。 11 2013-04-30 C语言:从键盘输入一个不超过100个字符的字符串,其中字符串... 1 2015-05-21 求大神⊙▽⊙ C语言程序 从键盘输入三个字符串(每个字符串长... 5 更多...

C语言编程:输出由键盘输入的n个字符串中最长的字符串。咋做?
代码文本:include "stdio.h"include <stdlib.h> include <string.h> define N 101 int Longer(char **str,int n){\/\/判断串长度函数 int i,k;for(k=0,i=1;i<n;i++)if(strlen(str[i])>strlen(str[k]))k=i;return k;} int main(int argc,char *argv[]){ int n,i;char **...

c语言编程由键盘输入任意一个整数,求其每位数字的平方和及平方根和...
include <math.h> include <stdio.h> long main(){ int n;int ans=0;double ans1=0;printf("请输入一个整数");scanf("%d",&n);while(n!=0){ long temp=n%10;ans+=temp*temp;ans1+=sqrt(temp);n\/=10;} printf("平方和为%d\\n",ans);printf("平方和为%f\\n",ans1);return(...

...题目:有三个整数a、b、c,由键盘输入,输出其中最大的数。 要求:_百 ...
include <stdio.h>int main(void){ int a,b,c; while( scanf("%d %d %d",&a,&b,&c) != EOF) { printf("%d\\n",(a>b ? a:b)>c ? (a>b ? a:b):c); } return 0;}#include <stdio.h>int main(void){ int a,b,c; while( scanf("%d %d ...

c语言从零开始输出n个连续的偶数,其中n由键盘指定?
include <stdio.h> int main(void){ int n = 0,i=0;while ((scanf("%d",&n)!=1)||(n < 1));for (i = 0; n; i+=2,n--){ printf("%d ", i);} return 0;}

...删去其中某个字符,此行文字和要删的字符均由键盘输入
include<stdio.h> include<string.h> void main(){char line[80],ll[2];char ch;int i,j;int len;printf("输入一行字符 \\n");scanf("%s",&line); 改为:scanf("%s",line);(line[]; line 就是地址)printf("输入要删除字符\\n ");scanf("%s",ll);ch=ll[0];i=0;while(line[i...

用C语言编程,问题是:由键盘输入3个整数a,b,c然后按由小到大顺序输出...
include <stdio.h> void main(){ int a,b,c,max,min,mid;scanf("%d",&a);scanf("%d",&b);scanf("%d",&c);if(a<b)min=a;else min=b;if(min<c)min=c;if(a>b)max=a;else max=b;if(max<c)max=c;if(a!=max&&a!=min)mid=a;if(b!=max&&b!=min)mid=b;if(c!=...