请用c语言编写以下程序:【程序设计】 --------------------------------------------------------- 题目:编程求所有4位数,这些数具有以下特点:这数本身是平方数,且其低2位和高2位所组成的2个2位数也是平方数。 要求:使用程序中定义的变量 -------------------------------------------------------*/ #include <stdio.h> #include <math.h> main(){ int qw,bw,sw,gw; // qw 千位数 bw 百位数 sw 十位数 gw 个位数 int a,b; //a 高两位 低两数 int i; //循环变量 /**********Program**********/ /********** End **********/ }
时间: 2023-07-06 16:35:59 浏览: 118
以下是程序代码:
```
#include <stdio.h>
#include <math.h>
int main(){
int qw,bw,sw,gw; // qw 千位数 bw 百位数 sw 十位数 gw 个位数
int a,b; //a 高两位 低两数
int i; //循环变量
/**********Program**********/
for(i=10;i<=99;i++){
a = i*i/100;
b = i*i%100;
if((sqrt(i*i)>=1000)&&(sqrt(i*i)<=9999)&&(sqrt(a)>=10)&&(sqrt(a)<=99)&&(sqrt(b)>=10)&&(sqrt(b)<=99)){
qw = sqrt(i*i)/1000;
bw = sqrt(i*i)%1000/100;
sw = sqrt(i*i)%100/10;
gw = sqrt(i*i)%10;
printf("%d%d%d%d\n",qw,bw,sw,gw);
}
}
/********** End **********/
return 0;
}
```
程序思路:
1. 从10到99循环枚举所有的两位数
2. 判断该两位数的平方根是否在1000到9999之间,如果不在则跳过
3. 判断该两位数平方的高两位和低两位是否都是平方数,如果不是则跳过
4. 如果以上两个条件都满足,则将该数的千位、百位、十位、个位分别计算出来,并输出
5. 循环结束
阅读全文