|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在100~999中寻找符合条件的整数并依次从小到大存入数组中,它既是完全平方数,又有两位数字相同,如144,676等。
#include <stdio.h>
#include <math.h>
int jsvalue();
void main ()
{
jsvalue();
}
int jsvalue()
{
int i, j,k=0,g,s,b;
for(i=100;i<=999;i++)
{
g=i%10;
s=i/10%10;
b=i/100;
if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s||s==b|b==g))//只有当i是完全平方数开方再取整才不会丢失任何数据
{
printf(" %d\n",i);
printf(" %d\n",sqrt(i));
}
}
return 0;
}
程序是这样写的,但最后,我加了printf(" %d\n",sqrt(i));想知道开方后的i是多少,为什么运行都是0,求解,还有题目要求存入数组怎么存?
- #include <stdio.h>
- #include <math.h>
- int jsvalue();
- void main ()
- {
- jsvalue();
- }
- int jsvalue()
- {
- int i, j,k=0,g,s,b;
- for(i=100;i<=999;i++)
- {
- g=i%10;
- s=i/10%10;
- b=i/100;
- // if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s||s==b|b==g))//只有当i是完全平方数开方再取整才不会丢失任何数据
- if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s||s==b||b==g))//原来的最后一个“或”运算写错了
- {
- printf(" %d\n",i);
- // printf(" %d\n",sqrt(i));
- printf(" %d\n", (int)sqrt(i)); // sqrt()返回的是一个double类型数据,以%d输出需要进行类型转换。
- }
- }
- return 0;
- }
复制代码
|
|