菜鸟求助,java for循环累加求和

C语言菜鸟基础教程之求1到100的和
作者:翡翠森林Z
字体:[ ] 类型:转载 时间:
在C语言中可以通过定义一个累加器(一个变量)并结合for循环来实现计算1到100之和。
题目:求1+2+3+……+98+99+100
(1)用数学方法求解
(2)编写C语言程序求解
(1)数学方法
S = 1+2+3+……+98+99+100
= (1+100) + (2+99) + (3+98) + …… + (49+52) + (50+51)
= 101 * 50
(2)C语言编程
#include &stdio.h&
int main()
int sum = 0; // 赋初值
for(int i = 1; i &= 100; i++)
sum = sum +
printf("total is %d\n", sum);
运行结果:
total is 5050
(1)第一次循环
i = 1, sum = sum + i = 0 + 1 = 1,这里右边的sum的值为初值0,将1赋给左边的sum后,sum的最新值变成了1
(2)第二次循环
i = 2, sum = sum + i = 1 + 2 = 3, 这里右边的sum的值已经通过上一步的计算变成了1。把3赋值给左边的sum后,sum的最新值
(3)第三次循环
i = 3, sum = sum + i = 3 + 3 = 6, 这里右边的sum的值已经通过上一步的计算变成了3。把计算结果6赋值给左边的sum后,sum的最新值就成了6
(4)第四次循环
i = 4, sum = sum + i = 6 + 4 = 10, 这里右边的sum的值已经通过上一步的计算变成了6。把计算结果10赋值给左边的sum后,sum的最新值就成了10
(5)……这样执行一百次后,得到的结果为5050
新知识点:
sum = sum + i可以写成sum += i,都是让sum和i相加后,把新的值赋给sum。
以后编程尽量使用+=这种方式。
理由:C语言要通过编译器编译,在编译器没开启优化的情况下,两种写法是完全等价的;编译器开启了优化后,+=的执行速度可能会快一点。(这个先有点印象即可,目前不用深入了解)
(1)调试上面的程序。每次运行到右大括号时,把鼠标悬在sum上面,观察sum的值。
上面的程序会循环100次,调试的时候,循环10次左右就可以step out了。
把sum = sum + i改成sum += i,运行结果
#include &stdio.h&
int main()
int sum = 0; // 赋初值
for(int i = 1; i &= 100; i++)
printf("total is %d\n", sum);
(3)在纸上默写这个程序。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 1406 人关注过本帖
标题:向各位大大求助(本人新手刚学)
来 自:浙江绍兴
等 级:新手上路
&&问题点数:0&&回复次数:12&&&
向各位大大求助(本人新手刚学)
不知道该如何获取一段输入字符的长度?我不是很会用for循环。
题目的要求是把你自己输入的一段整数。。反过来输出。。
如你输入:123456
电脑会输出:654321
搜索更多相关主题的帖子:
等 级:新手上路
帖 子:57
呵呵,又是《C#入门经典》里面的题目~
获取输入字符的长度用Length方法,至于反向输入的话,你只要按照下标,从大到小输出就行了(因为你赋值的时候是从小到大的)。
来 自:浙江绍兴
等 级:新手上路
谢谢。。可是Length我不是很会用。。我只能取到1个数字。不能循环取。。比如我输入了123456
我却只能取到6。。然后就没了。。我知道这里该用循环。。可是我不知道该怎么用
等 级:新手上路
帖 子:12
程序代码:using S
using System.Collections.G
using System.T
namespace ConsoleApplication2
&&& class Program
&&&&&&&&static void Main(string[] args)
&&&&&&&&&&&&Console.WriteLine(&请输入一个整数:&);
&&&&&&&&&&&&int num = int.Parse(Console.ReadLine());
&&&&&&&&&&&&int rev=0;
&&&&&&&&&&&&int temp=
&&&&&&&&&&&&while ((temp / 10) != temp)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& rev = temp % 10 + rev * 10;
&&&&&&&&&&&&&&& temp /=10;
&&&&&&&&&&&&}
&&&&&&&&&&&&Console.WriteLine(&反序后:{0}&,rev);
&&&&&&&&&&&&Console.ReadLine();
等 级:新手上路
帖 子:35
static void Main(string[] args)
&&&&&&&&& //字的长度
&&&&&&&&&&&&
&&&&&&&&&&&&Console.WriteLine(&请输入一个词语或单词:&);
&&&&&&&&&&&&int shuzi = int.Parse(Console.ReadLine());
&&&&&&&&&&&&Console.WriteLine(&你输入的单词的长度为:{0}&,danci.Length);
来 自:浙江绍兴
等 级:新手上路
回复 4# wxiaoer2008 的帖子
谢谢你的帮助。。就是有点看不大懂。。
&&&&&&&&&&&&int rev=0;这个是什么用处?
&&&&&&&&&&&&int temp=这个是什么用处?
&&&&&&&&&&&&while ((temp / 10) != temp)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& rev = temp % 10 + rev * 10;
&&&&&&&&&&&&&&& temp /=10;这个是什么用处?
&&&&&&&&&&&&}
&&&&&&&&&&&&Console.WriteLine(&反序后:{0}&,rev);
&&&&&&&&&&&&Console.ReadLine();
等 级:新手上路
帖 子:12
程序代码:using S
using System.Collections.G
using System.T
namespace ConsoleApplication2
&&& class Program
&&&&&&&&static void Main(string[] args)
&&&&&&&&&&&&Console.WriteLine(&请输入一个整数:&);
&&&&&&&&&&&&int num = int.Parse(Console.ReadLine());//把输入转换int并存入
&&&&&&&&&&&&int rev=0;//申请一个数,用保存反序的数,用0初始化
&&&&&&&&&&&&int temp=//把num赋值给temp,用于中间计算
&&&&&&&&&&&&while ((temp / 10) != temp)//判断这个数是否只剩个位了
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& rev = temp % 10 + rev * 10;//累加
&&&&&&&&&&&&&&& temp /=10;//取整,假如是1283的话,让他变为128,下次变为12,再次为1,这样结束了循环
&&&&&&&&&&&&}
&&&&&&&&&&&&Console.WriteLine(&反序后:{0}&,rev);//输出
&&&&&&&&&&&&Console.ReadLine();//等待回车结束程序
如果还看不懂,我也没法了。
[[it] 本帖最后由 wxiaoer2008 于
21:43 编辑 [/it]]
我很赞同,很好的代码+注释。
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
回复 7# wxiaoer2008 的帖子
写的相当不错,我来注释下,要讲的呢,主要是
&while ((temp / 10) != temp)//判断是否全部数字取完,当取完个位再上来时退出循环
&&&&&&rev = temp % 10 + rev * 10;//rev保存上一次获取的按反序排列的数,经过取模可以得到每次的数的个位数,然后若是第2次进入循环体,这个个位数将乘以10,变成10位,逐步升高达到反序。
&&&&&&temp /=10;//这一步也至关重要,是排除已经取得的数字。
还有不明白的朋友请仔细琢磨下,按是节,取模与除整相得益彰,运用的非常巧妙。
仁者乐膳,智者乐睡。我都爱~
等 级:新手上路
帖 子:57
LZ要思考哦~最好自己代入数字进去模拟~建议LZ顺便去研究下算法。
来 自:浙江绍兴
等 级:新手上路
谢谢大家的帮助。我已经明白了。还有个问题想问下大家。。
参数这个我一直都弄不懂。。完全不理解。。我都不知道该怎么去理解参数。。
有谁有好的经验或者好的建议吗?到底什么才是参数?
版权所有,并保留所有权利。
Powered by , Processed in 0.049338 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved新手第一次玩枪,请问枪手的疾风之雨和立场穿刺都有什么作用,为什么这三个辅助魔法不能同时用!
新手请别见笑!
疾风之雨就是加敏捷的,生命之光加最大生命值,立场穿刺PK用的,你看他图标就知道什么用啦,例如可以用来穿法师罩罩
其他答案(共1个回答)
我有一朋友是个车迷,他前两天去试驾过飞思Veloster,据说挺不错的呢。驾驶感很舒适的,炮筒式的仪表盘,很有驾驶欲望,都是轿跑车型常见的设计,很有个性哦。方向...
按住有鼠标左键,把你希望去采矿的农民都圈上,然后右键点金矿。一般一个金矿需要5个农民来保证最佳采金状态,多了浪费农民,少了采的会相对慢些。人族和兽族采矿的农民在...
单瑟长+全身套(带盾)首饰可以随便点,带精灵首饰在KT你死不了(装的不算)
为什么这么讲?因为你52还得换,40慢慢升到52,直接换黑光
我也不知道我说的对不对...
A1、不是的,噩梦ACT2防御佣兵会圣冻光环。也很好用,普通的小怪根本不能近他身;还有,圣冻能给物理攻击加上冰伤害。换个BB是个好主意,因为噩梦防御型BB会圣冻...
这个可能性不大,毕竟这个东西不好找,万一删除错了,后果不堪设想
答: 今天第六周早上早上发现有血和月最后一天差不多的样子怎么办
答: 朋友相处要严以律己,宽以待人。
朋友出去玩,AA制最好。如果不是,自己要抢先付钱,不要斤斤计较。你就是不坐船也要抢先付钱才对。
意欲取之,必先予之。其实朋友只是...
答: 我跟你一样啊!!进不去高手解决下
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区主题 : 菜鸟求助 publish id的问题
级别: 新手上路
可可豆: 10 CB
威望: 10 点
在线时间: 2(时)
发自: Web Page
来源于&&分类
菜鸟求助 publish id的问题&&&
admob publish id是什么id 广告id吗
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版(桃花侠战菊花怪)
第三方登录:

我要回帖

更多关于 vb 循环累加 的文章

 

随机推荐