| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 577 人关注过本帖
标题:C语言问题?????
只看楼主 加入收藏
wo_qwq
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-18
收藏
 问题点数:0 回复次数:9 
C语言问题?????

我的疑问!!!大家帮忙??? 求满足条件 abcd=(ab)*(ab)+(cd)*(cd);的所有四位数。例如,a=8,b=8,c=3,d=3为满足条件的四位数,即8833=88*88+33*33.




搜索更多相关主题的帖子: C语言 
2006-09-18 17:02
wo_qwq
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-18
收藏
得分:0 
我实在是想不出来了 啊!!
我就来论坛上找高手帮忙啊 !!]
有可能是计算机二级的题啊!!
很重要的啊
2006-09-18 17:03
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
int ab,cd,num;
for(num=1000;num<10000;num++)
{
ab=num/100; //千百位
cd=num%100; //十个位
if(ab*ab+cd*cd==num)
{
printf("%d\n",num);
}
}

倚天照海花无数,流水高山心自知。
2006-09-18 17:10
wo_qwq
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-18
收藏
得分:0 
感谢你的回答啊!!
斑竹!
就上运行的结果是
1233
8833
谢谢!!
再次表示感谢
2006-09-18 17:34
wo_qwq
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-18
收藏
得分:0 
a=8,b=8
2006-09-18 17:38
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
printf("%d,%d,%d,%d",ab/10,ab%10,cd/10,cd%10);

也可以一开始就定义四个变量分别是四位...

倚天照海花无数,流水高山心自知。
2006-09-18 17:46
wo_qwq
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-18
收藏
得分:0 

#include "stdio.h"
main()
{/*求满足条件 abcd=(ab)*(ab)+(cd)*(cd);的所有四位数。例如,a=8,b=8,c=3,d=3为满足条件的四位数,即8833=88*88+33*33。*/
int ab,cd,num;

for(num=1000;num<19602;num++)
{
ab=num/100; //千百位
cd=num%100; //十个位

if((ab*ab+cd*cd==num)&&((num/1000)==(num/100)%10))
{
printf("%d\n",num);
}
}

}


我自己又从你那加了点东西啊!!
你看行不行 啊!!
这次运行就出来个8833

2006-09-18 17:50
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用wo_qwq在2006-9-18 17:50:23的发言:

#include "stdio.h"
main()
{/*求满足条件 abcd=(ab)*(ab)+(cd)*(cd);的所有四位数。例如,a=8,b=8,c=3,d=3为满足条件的四位数,即8833=88*88+33*33。*/
int ab,cd,num;

for(num=1000;num<19602;num++)
{
ab=num/100; //千百位
cd=num%100; //十个位

if((ab*ab+cd*cd==num)&&((num/1000)==(num/100)%10)) //这里是判断num的万千位的数值和百位是否相同.
{
printf("%d\n",num);
}
}

}


我自己又从你那加了点东西啊!!
你看行不行 啊!!
这次运行就出来个8833


倚天照海花无数,流水高山心自知。
2006-09-18 17:54
菜鸟笨鸟
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-9-2
收藏
得分:0 
我是用另外一种方法做的;把四位数的每一位分别定义成变量abcd 比起3楼的方法有点复杂 但也可以运行出来
#include<stdio.h>
#define M ((a*10+b)*(a*10+b)+(c*10+d)*(c*10+d))
main()
{
int a,b,c,d,i;
for(i=1000;i<10000;i++)
{
a=i/1000;
b=i%1000/100;
c=i%100/10;
d=i%10;
if(M==i)
printf("%d\n",i);
}
}

偶是大菜鸟~!
2006-09-18 19:15
wo_qwq
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-9-18
收藏
得分:0 
但是你运行完是什么 ??
结果是1233
8833
啊两个数啊!你说那个1233符合吗???
2006-09-20 22:35
快速回复:C语言问题?????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012240 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved