int main()
{
int i = 1;
int sum = 0;
//for()内部有2个分号,这是语法
/*
1、i = 1
2、判断 i <= 100 条件,如果条件为真,执行{}语句,如果条件为假,跳出for()
3、执行{}语句,sum +=i;
4、执行完{}语句后,执行++i
5、重复 2、3、4步骤
6、重复 2、3、4步骤
7、重复 2、3、4步骤
*/
//C语言求1到100的和
for(; i <= 100; ++i) //for(i = 1; i <= 100; ++i)
{
sum +=i;
}
printf("sum = %d\n", sum);
return 0;
}
#include<stdio.h>
//选择控制for
int main()
{
//for()内部有2个分号,这是语法
/*
1、i = 1
2、判断 i <=5条件,如果条件为真,执行{}语句,如果条件为假,跳出for()
3、执行{}语句,if(1==i) 和 continue 或 break
4、执行完{}语句后,执行i++
5、重复 2、3、4步骤
*/
int i=0;
for(i=0;i<5;i++)
{
//break 跳出循环 continue下一次循环
if(1==i)//选择控制 当i==0时,break跳出循环,不执行了.. 当i==1时,打印结果为0 ,因为1已经跳出循环.. 当i==2时,打印结果为0 1,因为2已经跳出循环.
{ //break; //当i==3时,打印结果为0 1 2,因为3已经跳出循环
continue; //continue开始下一次循环; 当i为0时,下一次循环 所以打印结果为 1 2 3 4。当i为1时,下一次循环 所以打印结果为 0 2 3 4
}
printf("%d\n",i);
}
return 0;
}
#include<stdio.h>
void main()
//1、1-100 的和 for while do while三种方法做
{
int i=1,result=0;
for(i=1;i<=100;i++)
//result=result+i;
printf("%d ",i);
for(i=1;i<=100;i++)
result=result+i; // i=1 result=1 i=2 result+i=1+2=3 i=3 result=result+i=3+3=6
printf("1-100的和为:%d\n",result);
while(i<=100)//这里也没有分号 //判断后执行 //1、判断i<=100的条件,如果为真,执行{}语句
{ //如果为假,跳出while()循环
result=result+i; //2、执行完{}语句,重复1步骤
i++;
}//这里也没有分号
printf("1-100的和为:%d\n",result);
do //do-while和while分别是 执行后判断 和 判断后执行 是首先执行语句后进行判断,判断语句到100的时候还是符合条件的,执行了i=101这个条件的
{
printf("1-100的和为:%d\n",result=result+i);
i++;
}while(i<=100);
}
//2、求任意数的阶层 3、求前n项阶层的和 如:1!+ 2!+ 3!+ 4!+5!=的值 递归做或者不用递归做
unsigned int i,n,sum=0,result=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
result=result*i; //求任意数的阶层:1!=1 2!=1*2 3!=1*2*3=2!*3 4!=1*2*3*4=3!*4
sum=result+sum;//求前n项阶层的和 前一项的和 后一项的和 相加 如: 1!+2!+3!+4!=33 1!=1 2!=2 3!=1*2*3=6 4!=1*2*3*4=3!*4=24
}
printf("阶层为:%d\n",result);
printf("和为:%d\n",sum);
}