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