for语句问题

输出类似aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)

#include<stdio.h>
 int main()
 {
    
    
       for(int x=0; ;i++)
       {
    
    
            int n=x*x;
            if(n<1000)  continue;
            if(n>9999)  break; 
            int bq=n/100;//bq就是四位数的高俩位百位和千位,取其前俩字母。
            int gs=n%100;//和上面一样,同理,个位十位一样。
            if(bq/10==bq%10&&gs/10==gs%10)
              printf("%d\n",n);



}




 }
 //主要是判断在四位中,找高俩位相同,低俩位相同的四位数。取余和求整参与运算。

还可以把main函数中的改为如下,但头文件要加math.h

```c
{
    
    
int g,s,b,q;
for(int i=1000;i<9999;i++)
{
    
    
    int t=sqrt(i);
    g=i%10;
    s=i%100/10;
    b=i%1000/100;
    q=i/1000;
  if(g==s&&b==q&&i==t*t)
  printf("%d",i);  

//个位十位百位千位,取余一般从个位开始,取余10即可,十位是倒数第二个取余100,余数两个所以两个余数在求整,即/10。同理,百位,千位一样。
}








}


猜你喜欢

转载自blog.csdn.net/weixin_46828943/article/details/113748258