阶乘,后面有讲解。

#include<stdio.h>

int main()

{

in a=0;

int b=0;

scanf("%d",&b);

int c=0;

int h=0;

for(a=1;a<=b;a++)

{

c=c*a;

 printf("%d",c);//阶乘

return 0;

}





#inclued<stdio.h>

int main()

{

int a=0;

for(a=0;a<=10;a++)

{

if(a==5)

printf("hehe");

printf("%d",a);

}

return 0;

}

什么,又出bug了_赋值

由此可得出for顺序为

1:a=0;

2:a<=10;

3:printf("%d",a);

4:a++

5:当a==5时,printf(”hehe“);

6:printf("%d",a);

7:a++

8:直到a>10,循环结束。


注意:不可再for循环体内改变变量,防止失去控制。

         另外建议采用前闭后开的写法。

for( ;;)

初始化   判断  调整

都没有是可以省略掉的!判断条件省略掉的话,恒为真。会陷入死循环!


for循环变种:;

int main()

{

int x,y;

for(x=0,y=0;x<2 &&y<5;x++,y++)

{

printf("hehe\n");

}

teturn 0;

}

这种也是可以的。

错误示范:

#include<stdio.h>

int main()

{

int a=0;

int b=0;

for(a=0,b=0;a=0;a++,b++)

{

printf("hehe\n");

}

return 0;

}

这里for(a=0,b=0;a=0;a++,b++)

判断a=0;这里不对这里a是赋值,,不是判断。程序不输出。

例:for(a=0,b=0;a=1;a++;b++)

这个是就是死循环,非零就是死循环,为零不输出。


do,while循环

#include<stdio.h>

int main()

{

int a=0;

do

{

printf("%d",a);

a++;

}

while(a<=10);

return 0;

}

不管三七二十一上来先打印,后面再判断。

一样的,break是终止循环,continue是跳过次循环。


#include<stdio.h>

int main()

{

int a=0;

int b=0;

scanf("%d",&b);//输入b的乘阶

int c=1;//底数

for(a=1;a<=b;a++)

{

c=c*a;

}

printf("%d,c");

retuen 0;

}

这里不好理解

阶乘就是1*1*2*3*4.。。。

b是输入记得阶乘//3,5或者10自己输,scanf(”%d“,b)就是输入函数可以自己输入。

c就是底数,底数不能为零,任何数乘以0都等于0。不输出。所以c=1。

c=ca,例:a=1.c初始化也是1,c=c*a

就是1*1赋值给a,a++,也就是1*2在赋值给a,1*1*2*3一直把乘积赋值给a,得到阶乘。


阶乘的和!

#include<sitdio.h>

int main()

{

int he=0;

int a=0;

int b=0;

int c=1;

for(b=1;b<=10;b++)

{

c=1;

for(a=1;a<=b;a++)    //a的阶乘。     {c=c*a}

}

he=he+c

return 0;

}

其中for(a=1;a<=b;a++){c=a*c}这个代码是a的阶乘,for(b=1;b<=10;b++)是另一个阶乘。int he阶接收讲个阶乘的和。

c=1,是因为第一次a的阶乘运算完之后不回到1.第二遍判断小于10第一遍始终是10.最大值。所以每次判断完b++之后还要把a赋值1,从头a++。



之前两天没有发,新手小白定力也不好,没有坚持下来。这两天挺复杂的研究了好半天,以后会坚持发的,大佬看来及其简单,就当看笑话,反正我理解起来很困难,但依然觉得很有趣,整天发这点微不足道的东西其主要目的也是分享些学的东西,让跟我一样的小白一起看一下巩固一下学的东西。欢迎大家监督。