
c语言编程中输出100~999中的完全平方数,且有两位数数字相同
3个回答
展开全部
思路:
1 对所有完全平方数进行遍历。
3 对每个完全平方数,取三个位上的值,如果有两位相同,则输出。
2 当完全平方数大于999时退出循环。
代码:
#include <stdio.h>
int main()
{
int n=10;
while(1)
{
int s = n*n;//获得到一个完全平方数。
int a = n/100;//百位
int b = n/10%10;//十位
int c = n%10;//个位
if(s > 999) break;//超出范围,退出循环。
if(a==b || b == c || a == c)
{
printf("%d,",s);
}
n++;//计算下一个n。
}
return 0;
}
展开全部
//希望我的回答对你的学习有帮助,加点悬赏
#include<stdio.h>
#include<math.h>
int main(){
int n,sd,td,md;
double root;
for(n=10;n<1000;n++){
root=sqrt(n);
if((int)root==root){
md=n/100;
td=n/10%10;
sd=n%10;
if (md==td||md==sd||td==sd){
printf("%d\n",n);
}
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
bool judge(int i)
{
int a,b,c;
a=i%10;
i/=10;
b=i%10;
i/=10;
c=i;
if(((a==c)&&(a!=b))||((a==b)&&(a!=c))||((b==c)&&(b!=a)))
return true;
else
return false;
}
void main()
{
int i,j;
for(i=100;i<1000;i++)
{
for(j=10;j<i;j++)
{
if(j*j==i)
if(judge(i))
printf("%d\n",i);
}
}
}
bool judge(int i)
{
int a,b,c;
a=i%10;
i/=10;
b=i%10;
i/=10;
c=i;
if(((a==c)&&(a!=b))||((a==b)&&(a!=c))||((b==c)&&(b!=a)))
return true;
else
return false;
}
void main()
{
int i,j;
for(i=100;i<1000;i++)
{
for(j=10;j<i;j++)
{
if(j*j==i)
if(judge(i))
printf("%d\n",i);
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询