| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 882 人关注过本帖
标题:大家来讨论:^_^ ,两个程序
只看楼主 加入收藏
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
运行过程都一样呀~``
结果也一样

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-04-12 18:32
luyihuaa5201
Rank: 2
等 级:论坛游民
帖 子:254
专家分:10
注 册:2007-3-25
收藏
得分:0 

是3000

2007-04-12 20:25
x01043127
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-4-13
收藏
得分:0 
TC下整数为16位,最大就32767,第二种做法整数已经溢出了.
2007-04-13 08:44
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 

我做的结果也不一样啊,我做了个查错的程序,发觉楼上的兄弟说的有道理
main( )
{ int a,b,c,d,ii,i1,i2;
char e1[3005],e2[3005];
for (ii=0;ii<=3005;ii++)
{
e1[ii]='0';
e2[ii]='0';
}

i1=0; i2=0;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
{
if((a*10000+b*1000+c*100+d*10+6)%3==0)
{ i1++;
e1[i1]=a+b+c+d;
if(i1==760) printf("\n%d%d%d%d\n",a,b,c,d);
}
if ((a+b+c+d+6)%3==0)
{ i2++;
e2[i2]=a+b+c+d;
if(i2==760) printf("\n%d%d%d%d\n",a,b,c,d);
}

}
for (ii=0;ii<=3005;ii++)
{
if(e1[ii]==e2[ii]) continue;
else
{
printf("\n%d,,,,,%d,,,,,,,%d\n",e1[ii],e2[ii],ii);
break;
}
}

printf("\n%d%d\n",i1,i2);
}


学习需要安静。。海盗要重新来过。。
2007-04-13 16:33
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
第二种方法是有问题的,当精度不够时溢出,a*10000+b*1000+c*100+d*10+6这个表达式出现异常,会归零的,0%3==0,所以会出现上面不等的情况,这只是我个人看法.

学习需要安静。。海盗要重新来过。。
2007-04-13 16:39
杨过
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-4-13
收藏
得分:0 
第2中方法有点问题
定义的时候 int 类型是16位的 表示的数范围 -32768到37267
a*10000+b*1000+c*100+d*10+6 早就超出了范围 就会出错了 具体怎么出错偶也不知道 :(

把 long int 定义就没问题了 结果是3000
2007-04-13 17:02
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 

表达式(a*10000+b*1000+c*100+d*10+6)的值在0-32767是没问题的,当表达式的值为32768是就变成-32768了,溢出了,所了原本为32776这个不能被3整除的数,就变成了-32760就应该能被整除了,原本不能被3整除的98306现在由于以上原因变成了-32766了而正常情况下应该是98316被3整除的,用(98316-32796)+32776=98296,多出来的1就是在98306这,说的有些罗嗦了,希望高手指正.


学习需要安静。。海盗要重新来过。。
2007-04-15 09:10
快速回复:大家来讨论:^_^ ,两个程序
数据加载中...
 
   



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

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