c语言!!!!!!!!!!!由键盘输入一个正整数,判断该数是不是为平方数,是输出y,否则输出n

author author     2023-03-18     626

关键词:

楼主你好。
很简单:
#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
参考技术A 思路: 将该数开平方得到一个数 , 看是不是整数, 如果是说明是平方数, 否则不是 代码如下:

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


希望可以帮到你,如有疑问欢迎追问
参考技术B #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;
参考技术C 调用sqrt()

c语言从键盘输入的若干整数中找出最小值输入负数时结束?

以下是C语言代码示例:```c#include<stdio.h>intmain()intnum,min;printf("请输入一个整数:");scanf("%d",&num);if(num<0)printf("未输入任何正整数。\n");return0;min=num;while(1)printf("请输入下一个整数(负数结束):&q... 查看详情

c语言习题,输入一个正整数,按照从高位到低位的顺序输出各位数字。怎么做

输入时由代码限制只能是正整数,并赋与int型变量n,否则退出;用一个for循环计算输入之数的十进制长度,用1之后的0的个数表示并赋与临时变量t,如10000表示输入了一个4位十进制正整数;用一个while循环先后由t/=10和n/t%10来求... 查看详情

用c语言编程,输入一个正整数,计算并显示该数的各位数字之和。

以下是一份C语言程序,能够计算并显示一个正整数的各位数字之和:```c#include<stdio.h>intmain()intnum,sum=0;printf("Pleaseinputapositiveinteger:");scanf("%d",&num);//循环提取num的个位数字并求和while(num>0)sum+=num%10;num/=10;//输出... 查看详情

for循环:从键盘输入一个正整数n,

#include<stdio.h>voidmain() inti,n,sum=0;//声明三个整型变量,并为变量sum初始化赋值为0// printf("Pleaseentern:");//输入提示语// scanf("%d",&n);//调用scanf()函数从键盘输入n的值// for(i=1;i<=n;i++)//循环执行n次// sum=sum+i;//反复累 查看详情

c语言从键盘输入一个整数,然后输出这个数字的平方和立方?

以下是C语言代码实现从键盘输入一个整数,然后输出这个数字的平方和立方的结果:首先使用printf函数提示用户输入一个整数,并使用scanf函数从键盘读入该整数,存储在变量num中。然后分别计算这个整数的平方和立方,将结果... 查看详情

用c语言求一个4以内正整数的各位数字之和

参考技术A#include<stdio.h>intmain()intnum,sum=0;printf("请输入一个4以内的正整数:");scanf("%d",&num);if(num<=0||num>9999)//判断输入是否合法printf("输入错误!\n");return0;while(num>0)//循环求各位数字之和sum+=num%10... 查看详情

用c语言编写程序,用switch语句编程实现,输入一个正整数,输出该整数除以5的余?

#include<stdio.h>voidmain()intnum;printf("请输入一个正整数:");scanf("%d",&num);while(num<=0)printf("必须输入一个大于0的正整数!\\n\\n");printf("请输入一个正整数:");scanf("%d",&num);printf("数字%d... 查看详情

刚学c语言,不太懂。把键盘输入的由数字字符组成的字符串转换为相应的数字。例如把"123"转换为整数123

...--------------------追问那这道题呢:假如数组中存储有某班C语言期末成绩(百分制)。请编程输出1)该班成绩的平均分(两位小数)2)不及格的下标和成绩,不及格总人数3)高于90分的下标和成绩,高于90分的总人数4)班内有大... 查看详情

c语言求助,《求m和n之间的所有素数》

【问题描述】输入两个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个。素数是指只能被1和自身整除的正整数,最小的素数是2。【输入形式】从键盘输入两个正整数m和n。【输入输出样例1】(下划线... 查看详情

输入一个正整数n,输出它的英文表达。[c语言]

输入一个正整数N,输出它的英文表达。例如:输入1,输出one;输入12,输出twelve;输入135,输出onehundredthirtyfive……。编写程序实现之。#include<iostream>#include<string>#include<vector>#include<sstream>usingnamespacestd;usingnamespac... 查看详情

c语言问题输入a、b两个两位正整数,将它们合并形成一个新的整数放在c

#include"stdio.h"intget_result(intnum1,intnum2)intnum1_10=num1/10;/*用来保存第一个数num1十位上的数*/intnum1_1=num1%10;/*用来保存第一个数num1个位上的数*/intnum2_10=num2/10;/*用来保存第二个数num2十位上的数*/intnum2_1=num2%10;/*用来保存第二个数nu... 查看详情

c语言编程输入一个5位数以内的正整数,完成以下操作(代码片段)

<1>判断输入的数是一个几位数这里利用一个简单的while循环即可实现while(x)if(x/10!=0)suu++;x=x/10;<2>按序或逆序输出其各位数字首先使用数组将数字每一位取出存入数组for(i=0;i<=suu;i++)if(n==1)a[suu]=n;a[i]=n%10;n=n/10;最后利用for循... 查看详情

c语言编写一个程序,输入一个正整数,求出它是几位数。

思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。参考代码:#include <stdio.h>int main()&nb... 查看详情

输入一个正整数,求它们所有数字之和c语言程序怎么写

代码资料:#include"stdio.h"intmain(intargc,char*argv[]) intn,s; printf("Entern(intn>0)...\\n"); if(scanf("%d",&n)!=1||n<1) printf("Inputerror,exit...\\n"); return0; for(s=0;n;s+=n%10,n/=10); printf("Theresultis%d\\n",s); return0;参... 查看详情

由键盘输入三个整数,按从小到大的顺序输出(代码片段)

#include<stdio.h>intmain()inta,b,c,t;  //定义和输入scanf("%d%d%d",&a,&b,&c);if(a>b)  //好像是冒泡排序的步骤,感觉是,不确定t=a;a=b;b=t;if(b>c)t=b;b=c;c=t;if(a>b)t=a;a=b;b=t;printf("%d,%d,%d",a,b,c);  //输出return0;  查看详情

数据结构c语言版——顺序表的查找、插入与删除

1.实验项目的目的和任务顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求:1)从键盘输入10个整数,产生顺序表,并输入结点值。2)从键盘输入1个整数,在顺序... 查看详情

编写一个java应用程序,从键盘输入若干个正整数,如果输入为负数,抛掷自定义的异常

...捉这些异常并输出出错信息。编写一个Java应用程序,从键盘输入若干个正整数,如果输入为负数,抛掷自定义的异常,捕捉异常后,输出错误信息程序继续运行,直到输入为0时终止运行。怎么编写啊?要声明2次么,一个是错误... 查看详情

从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式

Scannercin=newScanner(System.in);intn=cin.nextInt();intnum[][]=newint[n][n];for(inti=0;i<n;i++){num[i][0]=num[i][i]=1;for(intj=1;j<i;j++){num[i][j]=num[i-1][j-1]+num[i-1][j];}}for(inti=0;i<n; 查看详情