满意答案
ajodnp
2014.10.05
采纳率:52% 等级:12
已帮助:6046人
这个挖,你程序的主体我没看到,不太确定 估计可能是:x=sqrt(i+100); y=sqrt(i+268); 出问题咯吧,因为你定义了i,x,y为长整型,但是sqrt()函数求出结果为double型 从double到long出现精度丢失,还是。。。——、 (你把程序都发过来看下啊) 补充: 你把x=sqrt(i+100); y=sqrt(i+268); 强制转换 下,改成: x=(double)sqrt(i+100); y=(double)sqrt(i+268); 或者把i,x,y定义为double型 看程序运行还会错不? 追问: 第一个 你会编吗? 回答: 这道题啊?我没编过,应该能把。 其实我也是刚学的好多不懂呢… (我编下啊,编好了没错贴上来) 追问: 我也是刚学 老师给的题有的有 程序分析 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字 int s=num; for(int i=1;i int num=2; int s=num; for(int i=1;i<2;i++){ num=num*10+num; //num=2*10+2,此时i=1 s=s+num; //s=2+num=2+22; } (程序看似没错,但是当n=3时出现问题了) 但当n=3,i=2时: num=(2*10+2)*10+(2*10+2); s=s+num —>s=2+22+num=2+22+22*10+22 ≠2+22+222 所以程序貌似有问题饿,还是你给定题目没说清楚挖 我把你的程序改下运行就能通过了: int s=num; for(int i=1;ib) while mod(a,b)≠0 rn的,方便后面算法的执行 { int tmp=m;0 /* m=n; 当m
记得采纳啊
00分享举报