C++编程 看着代码哪儿错了,运行不出结果,求大神指导,本人初学;
答案:3 悬赏:30 手机版
解决时间 2021-11-19 00:52
- 提问者网友:
- 2021-11-18 10:45
C++编程 看着代码哪儿错了,运行不出结果,求大神指导,本人初学;
最佳答案
- 五星知识达人网友:老鼠爱大米
- 2021-11-18 12:13
1.要将Sum1中的su初使化,否则在“su=su I”就会出现变量未赋值便引用的情况。
另外sum1中循环条件也有问题,应改为If(i/10>=0 && i!=0),自己慢慢体会。
2.至于sum2,我没能理解什么叫质因子。如果一个数的质因子指的是既是这个数的约数同时又是质数的数话,那你的算法就完全不对了,那样算求的是一个数的所有约数和(1除外)。追问大神,我的 245488345 望加一下,跪求指导追答大神就算了吧,本人渣渣,同样初学者,刚接触C++,互相帮助吧。我QQ:863311493。
另外sum1中循环条件也有问题,应改为If(i/10>=0 && i!=0),自己慢慢体会。
2.至于sum2,我没能理解什么叫质因子。如果一个数的质因子指的是既是这个数的约数同时又是质数的数话,那你的算法就完全不对了,那样算求的是一个数的所有约数和(1除外)。追问大神,我的 245488345 望加一下,跪求指导追答大神就算了吧,本人渣渣,同样初学者,刚接触C++,互相帮助吧。我QQ:863311493。
全部回答
- 1楼网友:十年萤火照君眠
- 2021-11-18 14:13
int su;你都没有初始化追问初始化时int su=0;么 加上去还是运行不对,跳出无法执行
- 2楼网友:人间朝暮
- 2021-11-18 13:14
1. int su = 0; <-- 没给初始值
2. while((i%10)>0)
3. if((i%j)==0) k=k+j;
第 2, 3 的错误原因都是没加括号,比较运算子 的优先权比 加减乘除高,所以
i%10>0 等同 i % (10 > 0) => i%1,亦即不管 i 是多少,输出值永远都会等於 0。
i%j==0 等同 i % (j ==0) =>因为 j恒大0,所以等同 j % 1。追问1. int su = 0; <-- 没给初始值 您好 ,书上说int su;这样默认不是su等于0吗? 为什么还要赋值? 能给个QQ号? 大神追答这是习惯问题。
当程式很小,用完就会关掉而且电脑除了作业系统没有其他软体运行的时候,书上讲的或许没错,不是所有的编译器都会在变数初始化的时候自动清除所配置的记忆体,如果刚好配置到的记忆体曾经被使用过,就会有值,而这是你无法预期的。
2. while((i%10)>0)
3. if((i%j)==0) k=k+j;
第 2, 3 的错误原因都是没加括号,比较运算子 的优先权比 加减乘除高,所以
i%10>0 等同 i % (10 > 0) => i%1,亦即不管 i 是多少,输出值永远都会等於 0。
i%j==0 等同 i % (j ==0) =>因为 j恒大0,所以等同 j % 1。追问1. int su = 0; <-- 没给初始值 您好 ,书上说int su;这样默认不是su等于0吗? 为什么还要赋值? 能给个QQ号? 大神追答这是习惯问题。
当程式很小,用完就会关掉而且电脑除了作业系统没有其他软体运行的时候,书上讲的或许没错,不是所有的编译器都会在变数初始化的时候自动清除所配置的记忆体,如果刚好配置到的记忆体曾经被使用过,就会有值,而这是你无法预期的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯