循环结构-7744问题

解法一:

/*
题目:输出所有形如aabb的四位完全平方数(即前两位相等,后两位也相等) 
思考:判断一个数是否为完全平方数,先求出它的平方根,看是否是整数 
	判断一个数是否是整数,把这个数与它的整数部分比较即可。 
*/
#include<stdio.h>
#include<math.h>
int main(){
	int a,b,n;
	double m;
	for(a=1;a<=9;a++){
		for(b=0;b<=9;b++){
			n=a*1100+b*11;//记录所有的完全平方数 
			m=sqrt(n);//n开平方 
			if(floor(m+0.5)==m)//判断m是否是整数 
			printf("%d\n",n); 
		}
	}
	return 0;
} 

解法二:

/*
枚举平方根x 
*/
#include<stdio.h>
int main(){
	int x,n,hi,lo;
	for(x=1;;x++){
		n=x*x;//枚举所有的完全平方数 
		if(n<1000)continue;
		if(n>9999)break;
		hi=n/100;//取前两位数
		lo=n%100;//取后两位数
		if(hi/10==hi%10 && lo/10==lo%10)//判断n是否是形如aabb的形式 
		printf("%d\n",n);
	}
	return 0;
}

注意:

floor
  原型:extern float floor(float x);
  
  用法:#include <math.h>
  
  功能:求不大于x的最达整数
  
  说明:返回x的下限,如74.12的下限为74,-74.12的下限为-75。返回值为float类型。
  
  举例:

      // floor.c
      
      #include <syslib.h>
      #include <math.h>

      main()
      {
        float x;
        
        clrscr();        // clear screen
        textmode(0x00);  // 6 lines per LCD screen
        
        x=74.12;
        printf("floor(%.2f)=%.0f\n",x,floor(x));
        x=-74.12;
        printf("floor(%.2f)=%.0f\n",x,floor(x));
        
        getchar();
        return 0;
      }
sqrt
  原型:extern float sqrt(float x);
  
  用法:#include <math.h>
  
  功能:计算x的平方根。
  
  说明:x应大于等于零。
  
  举例:


      // sqrt.c
      
      #include <syslib.h>
      #include <math.h>

      main()
      {
        clrscr();        // clear screen
        textmode(0x00);  // 6 lines per LCD screen
        
        printf("sqrt(2000)=%f",sqrt(2000.0));
        
        getchar();
        return 0;
      }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值