阶乘 高中数学知识
n!=1*2*3*4*5.......*n
写出一个程序 让用户输入n,然后计算n的阶乘。
变量: 用户输入的数 需要一个int的变量n然后计算的结果需要用另外一个变量保存,可以是int的factor,而且需要一个不断地从1递增到n的变量,可以使int的i。
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int factor=1;
int i=1;
while(i<=n){
factor*=i;
i++;
}
printf("%d!=%d\n",n,factor);
return 0;
}
这是while循环的写法
不能让初始值为0,如果为零了那最终的结果也是零 是个人都能理解
for循环 下面是写法
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int factor=1;
int i=1;
for(i=1; i<=n; i++){
factor*=i;
}
printf("%d!=%d\n",n,factor);
return 0;
}
可以将for当作对于 for=对于
for循环的格式 for(count=10;count>0;count--)
就读成 对于一开始的count=10,当count>0时,重复做循环体,每一轮循环再做完循环体内的语句时使count--。
for循环中的三个表达式 第一个是 初始动作 第二个是循环继续的条件 第三个是循环每轮要做的动作
小套路 这个就是0的问题 在做求和的程序时记录结果的变量应该初始化为0,而做求积的变量时记录结果的变量初始化为1。
上面的程序循环控制变量i只在循环里被使用了,循环外面它没有任何用处,所以我们可以把变量i的定义写到for语句里面去
这个for的格式只能c99用