黑马程序员技术交流社区
标题: 计算100以内能被7整除的个数及和 为什么和计算器的不一样 [打印本页]
作者: 该有个目标了 时间: 2014-8-20 14:17
标题: 计算100以内能被7整除的个数及和 为什么和计算器的不一样
// 计算100以内,能被7整除的数的个数及和。
#include<stdio.h>
int main( )
{
int i,count=0,sum=0;
for(i=1;i<=100;i++)
{
if(i%7==0)
{
count++;
}
sum += count;
}
printf("count=%d,sum=%d\n",count,sum);
return 0;
}
个数14个 没错 和是735. 但我这个和是679 ,咋回事 ?????
作者: x65396731 时间: 2014-8-20 14:38
貌似你把能被7整除的数字全部排除在sum += count;之外了。
作者: SmallRooker 时间: 2014-8-20 14:41
本帖最后由 SmallRooker 于 2014-8-20 14:43 编辑
你好,你的sum求和并没有把最后一个能被7整除的数字相加。想到于并没有进入if判断语句里边就就结束了循环。
int main( )
{
int i,count=0,sum=0;
for(i=1;i<=100;i++)
{
if(i%7==0)
{
count++;
sum += count;
}
}
}
printf("count=%d,sum=%d\n",count,sum);
return 0;
}
作者: SmallRooker 时间: 2014-8-20 14:43
你好,你的sum求和并没有把最后一个能被7整除的数字相加。想到于并没有进入if判断语句里边就就结束了循环。
int main( )
{
int i,count=0,sum=0;
for(i=1;i<=100;i++)
{
if(i%7==0)
{
count++;
sum += count;
}
}
printf("count=%d,sum=%d\n",count,sum);
return 0;
}
---------------------------------------------------
把求和的算法 放到判断语句中就可以了。我上边那个按了空格就回复了,对不起。这是正确的。
作者: ❤如止水之絕境 时间: 2014-8-20 14:45
亲,你该把sum+=count放在count++之后。。。这样才算是判断到整除就相加
作者: 该有个目标了 时间: 2014-8-20 14:54
亲 你们试试 照你说的打出来是105 .......
作者: 马嘉 时间: 2014-8-20 15:24
我没看出来sum是干嘛的,您是不是要求100以内7的倍数值得和呀,我觉得sum+=cont不对吧,这样只是1-14的和,你应该写成sum+=i;而且要在括号里面!不知道你是不要求一百的和呢
作者: 寇亮 时间: 2014-8-20 17:25
- #include <stdio.h>
- int main( )
- {
- int i,count=0,sum=0;
- for(i=1;i<=100;i++)
- {
- if(i%7==0)
- {
- count++;
- sum += i;
- }
- }
- printf("count=%d,sum=%d\n",count,sum);
- return 0;
- }
复制代码
作者: 周易 时间: 2014-8-20 17:42
{
if(i%7==0)
{
count++;
sum+=i;
}
}
应该是这样才对哈!
作者: ccq 时间: 2014-8-20 21:01
sum+=count改成sum+=i,就行了。
作者: 该有个目标了 时间: 2014-8-20 22:57
感谢你们 真聪明 我就没想出来 经验不足啊。3Q
作者: huangxuanheng 时间: 2014-8-21 00:34
应该是sum+=i
作者: ixx__123 时间: 2014-8-21 15:00
这是 基础测试题吧?
作者: 该有个目标了 时间: 2014-8-21 15:07
不是 我改了 基础上增加 了内容。变成了另一个类型。
作者: 从今以后 时间: 2014-8-23 10:59
感谢楼上的回复
作者: 十指紧扣 时间: 2014-8-23 11:05
谢谢大家哈!!!!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |