| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12004 人关注过本帖, 1 人收藏
标题:for循环,求0到100内能被3整除数之和
只看楼主 加入收藏
夜沐
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2015-6-30
结帖率:100%
收藏(1)
 问题点数:0 回复次数:28 
for循环,求0到100内能被3整除数之和
数组问题没有搞清楚,请大家帮忙看看是哪里错了
m是a的最大值

#include <stdio.h>
int main(void)
{
   int a = 0;
   int = m;
   int sum = 0;
   int mum[a];

   for(;i <=100;i++,a++)   //找出0到100内所有能被3整出的数字
      { if(i%3 == 0)
        {
           num[a] = i;     //把找到的数字赋给mun[a]
           i++;
        }
      }
    m = a;             //m = a的最大值
    for(a=0;a < m;a++) //求所有被赋值的数组和
    sum = sum + num[a];
    return 0;

}
搜索更多相关主题的帖子: include 最大值 
2015-07-21 11:41
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
for(;i <=100;i++,a++)   //找出0到100内所有能被3整出的数字  //a++去掉吧
      { if(i%3 == 0)
        {
           num[a] = i;     //把找到的数字赋给mun[a]
           i++;//改成a++吧
        }
      }
   

剑栈风樯各苦辛,别时冰雪到时春
2015-07-21 11:58
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
代码错太多,最起码的int=m是什么意思?

一片落叶掉进了回忆的流年。
2015-07-21 12:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:0 
直接用公式 (b/3+(a+2)/3)*(b/3-(a+2)/3+1)/2*3 就行了,等差数列求和是初中阶段的知识呀!

程序代码:
#include <stdio.h>

int main(void)
{
   const unsigned a = 0;
   const unsigned b = 100;
   unsigned sum = 0;

   for( unsigned i=a; i<=b; ++i )
       sum += (i%3==0 ? i : 0);
   printf( "%u\n", sum );

   // 直接用等差数列求和公式
   printf( "%u\n", (b/3+(a+2)/3)*(b/3-(a+2)/3+1)/2*3 );

   return 0;
}

2015-07-21 12:46
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
常见的版本
#include <stdio.h>
int main(void)
{
    int i,sum = 0;
    for(i = 0; i <= 100; i++)
        if(i % 3 == 0)
            sum += i;
    printf("%d",sum);
    return 0;
 }
2015-07-21 16:54
o547336583
Rank: 2
等 级:论坛游民
帖 子:14
专家分:17
注 册:2014-12-21
收藏
得分:0 
程序代码:
#include <stdio.h>
int main(void)
{
   int a = 0,i=0,sum=0,m;
   int num[100];
   for(i=0;i <=100;i++)   //找出0到100内所有能被3整出的数字
   {
       if(i%3 == 0)
        {
           num[a] = i;     //把找到的数字赋给mun[a]
           a++;
        }
   }
    m = num[a-1];             //m = a的最大值
    for(a=0;a < m;a++) //求所有被赋值的数组和
        sum = sum + num[a];
    printf("%d\n",sum);
    return 0;

} 
给你改好了,你看看
2015-07-21 17:41
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
收藏
得分:0 
#include <stdio.h>
int main(void)
{
    int i;
    int sum = 0;
    for(i= 0 ; i <= 100 ; i++)
    {
        if(i % 3 == 0)
            sum += i;
    }
    printf("%d",sum);
}
2015-07-21 21:14
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
额,见过类似的问题,求前n项和的…从数学角度出发等差数列利用和求和公式利用只是推导程度的差别,那个帖子有人觉得递归耗内存,循环没新意…我见过边小白和一个bluguy聊算法不知道是不是同一个人,我觉得您水平应该很高希望给出您的高见。

剑栈风樯各苦辛,别时冰雪到时春
2015-07-22 06:50
醒山
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:9
帖 子:463
专家分:2071
注 册:2015-5-25
收藏
得分:0 
rjsp你的代码写得真好,佩服,佩服
2015-07-22 07:49
luoye1994
Rank: 2
等 级:论坛游民
帖 子:57
专家分:58
注 册:2015-6-29
收藏
得分:0 
#include <stdio.h>
int main()
{
    int i , sum = 0 ;
    for (i = 0 ; 3 * i < 100 ; i ++)
    {
        sum = sum + 3 * i ;
    }
    printf("%d\n" , sum) ;
    return 0 ;
}
这样更简单
2015-07-22 09:04
快速回复:for循环,求0到100内能被3整除数之和
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020297 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved