求教不知道问题在哪里
#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开始计数。难道是溢出问题?分析不出来,求帮忙看看!!!!
没有分就不送了。。谢过先