首页 > 代码库 > 实验五:循环结构

实验五:循环结构

1.知识点:
                (1)do   while语句其实可理解为实行do后面的式子while(直到) i 到哪截止就停止计算,while语句则需要 i 来控制它的范围,for语句也需要 i 来控制它的范围。

                (2)求阶乘时是用fact(i)函数来求,可是朋友告诉了我一种别的方法:
                                                  i++;
                                                  sum=sum*i;
                    其实这样做也是和阶乘的原理是一样的,不过就不用写那么多了;
                    用阶乘是这样子写的:

#include<stdio.h>
double fact(int n);
int main(void)
{
	int i,n=10;
	double result,sum; 
	sum=0;
	for(i=1;i<=n;i++){
		result=fact(i);
		printf("%d!=%.0f\n",i,result);
		sum=sum+fact(i);
	}
	printf("1!+2!+...+10!=%.0lf\n",sum);
	return 0;
}
double fact(int n)
{
	int i;
	double product;
	product=1;
	for(i=1;i<=n;i++){
		product=product*i;
	}
	return product;
}

  而用那种简单的方法,式子就比上面的少多了:

#include<stdio.h>
int main()
{
	double sum1=1,sum2=0,i;
	while(i<10){
		i++;
		sum1=sum1*i;
		printf("%.0lf!=%.0lf\n",i,sum1);
		sum2=sum2+sum1;
	}
	printf("1!+2!+...+10!=%.0lf",sum2);
	return 0;
}

  这就是聪明人和非聪明人的区别了吧hehe...

                 (3)斐波那契(Fibonacci)序列这个题老师上课讲了,利用do  while循环可以使得X1,X2变换数值直到达到 i 的最大数即题目要求数字.

                 (4)如果要求式子变换,需要带入中间数值去变换,再转换,比如:

for(i=0;i<n;i++){
		sum=sum+flag/denominate;
		t=flag;
		flag=flag+denominate;
		denominate=t;
	}

            

2.实验过程中遇到的问题及解决方法:

                (1)数学计算表达式不能更为简单地表述,数学问题...

3.实验心得体会:

                (1)需要多练多想,大胆去猜测然后实践,还要记清楚各种语句的表示方法...

实验五:循环结构