Barryhan 发表于 2016-5-4 22:30:16

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

#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

问题在图中红圈处

呆鸭 发表于 2016-5-5 08:40:14

第一个程序是暴力法,老老实实跑回圈从1加到100;
第二个程序是公式法,不用老老实实跑回圈求和,只要给出第一个数、最后一个数及相邻两数间的差,套公式就得到和了。

既然不用跑回圈,当然就不需要跑回圈用到的index i了。

Barryhan 发表于 2016-5-5 12:48:45

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

哦,那就是说小甲鱼课程代码写多了个I{:5_95:}

GrantWard 发表于 2016-5-5 20:47:35

第二个算法的i是可以省略的,i只是用作迭代for循环用的,估计你还没学C呢吧?

独步 发表于 2016-5-5 22:36:52

i用来循环的

Barryhan 发表于 2016-5-6 08:21:30

GrantWard 发表于 2016-5-5 20:47
第二个算法的i是可以省略的,i只是用作迭代for循环用的,估计你还没学C呢吧?

是的,先学会一种吧,我想算法数据结构相通的,所以看了数据结构。谢谢你!

上山砍柴去 发表于 2016-5-11 16:51:54

果然给力啊
页: [1]
查看完整版本: 算法初体验,那个i 是不 是多余的,“神甲鱼”看一下哈!