作业帮 > 综合 > 作业

用C语言编程求(1+2+3+……+100)+(1^2+2^2+……+50^2)+(1/1+1/2+1/3+……+1/10

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/31 12:42:40
用C语言编程求(1+2+3+……+100)+(1^2+2^2+……+50^2)+(1/1+1/2+1/3+……+1/10)

运算结果是第一个while的和,为什么?
执行第一个while循环后i的值已经是100了,不满足后2个while循环条件,在循环前重新赋值i=0;
再问: 我改了之后,又把p定义为实数,为什么最后的结果还是负数,溢出了吗?
再答: 计算浮点型结果,那么计算公式中所有变量最好都是浮点型,比如你的r=1.0/i;这里i是整型,r肯定要定义成浮点型,否则计算结果都是0,计算浮点型结果要将i强制转换r=1.0/(float)i;p定义成int型即可,因为都是2循环都是整型计算,另外两个r定义成2个为好。参考代码: