标题:求教不知道问题在哪里
只看楼主
oload
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-10-16
 问题点数:0 回复次数:2 
求教不知道问题在哪里
#include <stdio.h>
#include<math.h>
 void main()
 {  int j,cnt=0, i,w[4];
   for(j=1000;j<=9999;j++) {
       for (i=0;i<4;i++) {
            w[i]=(j/((int)(pow(10,i))))%10  ;
            if(w[i]==8)     
        { cnt++ ;
            printf("%d\t",j);
            }
       }
   }         
     
 printf("\n四位自然数理含有8的数字一共有%d个\n",cnt);
 }
问题描述:
            当j的最大值取值不同时,满足条件的j的计数值就不同,测试发现当j最大值为8000时,满足条件的j从1008开始计数,当j8800时满足条件的j的是值从1508开始计数。难道是溢出问题?分析不出来,求帮忙看看!!!!
没有分就不送了。。谢过先
搜索更多相关主题的帖子: 最大值 include 
2012-10-16 21:13
liman123
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:79
专家分:178
注 册:2012-10-6
得分:0 
这个问题我也碰到过,好像是编译器输出窗口的相关属性问题,具体的我也说不上来,我也不知道该怎么设置相关的属性。还是百度吧
2012-10-19 12:37
cyhdahua
Rank: 7Rank: 7Rank: 7
来 自:山东
等 级:黑侠
威 望:2
帖 子:221
专家分:643
注 册:2012-6-15
得分:0 
#include <stdio.h>
#include<math.h>
int main()
{  int j,cnt=0, i,w[4];
   for(j=1000;j<=9999;j++) {
       for (i=0;i<4;i++) {
            w[i]=(j/((int)(pow(10,i))))%10  ;
            if(w[i]==8)     
         { cnt++ ;
            printf("%d ",j);
            break;
            }
       }
   }         
     
printf("\n四位自然数理含有8的数字一共有%d个\n",cnt);
}
看看代码 差不多你就明白了

WE GO
2012-10-19 20:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-383366-1-1.html




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

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