C语言入门——阶乘运算(for循环)

阶乘运算

题目要求

程序要读入一个非负整数n,然后输出这个整数的阶乘n!。如5!,输出5!=120。

int的范围是-2147483648~2147483647

解题思路

需要3个变量,读用户输入的n、保存计算结果的fact、计算中不断从1递增到n或n递减到1的变量i。

代码实现

while循环

#include 
int main(){
     
	int n;
	scanf("%d",&n);
	int fact=1; 
	int i=1;
	while(i <=n){
     
		fact *= i;
		i++;
	}
	printf("%d!=%d\n",n,fact);
}

for循环_正向相乘

#include
int main(){
     
	int n;
	scanf("%d",&n);
	int fact=1;
	int i=1;
	for(i=1;i<=n;i++){
     
	fact*=i;                    //fact=fact*i
	}
	printf("%d!=%d",n,fact);
	}

for循环_逆向相乘

#include
int main(){
     
	int n;
	scanf("%d",&n);
	int fact=1;
	int i=1;
	for(i=n;i>=1;i--){
     
	fact*=i;                 
	}
	printf("%d!=%d",n,fact);
	}

代码总结

for循环像一个计数循环:设定一个计数器,初始化它,然后在计数器到达某一值之前,重复执行循环体,而每执行一轮循环,计数器值以一定步进进行调整,比如加1或者减1。
例如for(count=10;count>0;count- -)
for语句的三个参数的作用,第一个参数一般是初始动作,第二个参数一般是条件,第三个参数一般是变化

流程图

C语言入门——阶乘运算(for循环)_第1张图片

补充
C语言入门——阶乘运算(for循环)_第2张图片
三种循环的选用
C语言入门——阶乘运算(for循环)_第3张图片

你可能感兴趣的:(c语言)