鱼C论坛

 找回密码
 立即注册
查看: 3837|回复: 6

[争议讨论] 算法初体验,那个i 是不 是多余的,“神甲鱼”看一下哈!

[复制链接]
发表于 2016-5-4 22:30:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
main()
{
int i,sum=0,n=100;
for(i=1;i<=100;i++)
sum+=i;//累加
printf("%d\n",sum);//输出结果
} 
5050
请按任意键继续. . .
上面的没问题,下面中的去掉 i 仍然可以执行
#include<stdio.h>
main()
{
int sum=0,n=100;
sum = (1+n)*n/2;//累加
printf("%d\n",sum);//输出结果
} 
运行结果正常,没学过C,所以疑惑。不知道这个算不算问题啊,本人小白,勿拍板砖。
感觉还是Python好上手,我也用Python试了一下。
数据结构哪门语言都需要!!!
n =100
sum = (1+n)* (n/2)
print '%d' % sum 
5050
[Finished in 0.6s]
问题在图中红圈处

算法初体验

算法初体验
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-5 08:40:14 | 显示全部楼层
第一个程序是暴力法,老老实实跑回圈从1加到100;
第二个程序是公式法,不用老老实实跑回圈求和,只要给出第一个数、最后一个数及相邻两数间的差,套公式就得到和了。

既然不用跑回圈,当然就不需要跑回圈用到的index i了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-5 12:48:45 | 显示全部楼层
呆鸭 发表于 2016-5-5 08:40
第一个程序是暴力法,老老实实跑回圈从1加到100;
第二个程序是公式法,不用老老实实跑回圈求和,只要给出 ...

哦,那就是说小甲鱼课程代码写多了个I
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-5 20:47:35 | 显示全部楼层
第二个算法的i是可以省略的,i只是用作迭代for循环用的,估计你还没学C呢吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-5 22:36:52 | 显示全部楼层
i用来循环的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-6 08:21:30 | 显示全部楼层
GrantWard 发表于 2016-5-5 20:47
第二个算法的i是可以省略的,i只是用作迭代for循环用的,估计你还没学C呢吧?

是的,先学会一种吧,我想算法数据结构相通的,所以看了数据结构。谢谢你!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-11 16:51:54 | 显示全部楼层
果然给力啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 18:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表