今天接着学第二章第五节:生成乘方表与阶乘表。
直接上代码:
#include <stdio.h>
#include <math.h>
int main(void)
{
int i, n, A;
printf("Enter n:");
scanf("%d",&n);
for(i=0;i<=n;i++){
A = pow(2,i);
printf("pow(2,%d)=%d\n", i, A);
}
return 0;
}
这个没有什么要讲的,就是把printf放在for循环里面。然后,我们来看看下一道题:阶乘表。
也是先上代码:
#include<stdio.h>
double fact(int n);
int main(void)
{
int i, n;
double result;
printf("Enter n:");
scanf("%d", &n);
for(i=0;i<=n;i++){
result = fact(i);
printf("%d! = %.0f\n", i, result);
}
return 0;
}
double fact(int n)
{
int i;
double product;
product = 1;
for(i=1;i<=n;i++){
product=product*i;
}
return product;
}
这里用到了函数的知识,我去翻了翻目录,函数是第五章会拿一整章来讲了知识点,这里我们提一下就行了。
第二行:
double fact(int n);
是先声明我们要调用这个函数,记住要打分号(英文的),我建议在最后面去定义这个函数,这样排面会好看一点。
double fact(int n)
{
int i;
double product;
product = 1;
for(i=1;i<=n;i++){
product=product*i;
}
return product;
}
在下面定义的时候就不需要分号了,分号就改成花括号了,其他东西就等到学到哪里再说(主要是我不会,嘿嘿)。当然,我们也可以不用函数的知识,就我们现在所学就可以做了,直接上代码:
#include <stdio.h>
#include <math.h>
int main(void)
{
int i, n;
double product;
printf("Enter n:");
scanf("%d", &n);
product = 1;
printf("0! = 1\n");
for(i=1;i<=n;i++){
product = product*i;
printf("%d! = %.0f\n", i, product);
}
return 0;
}
不知道各位有没有发现一个东西:
printf("0! = 1\n");
主要是如果不用函数的话,n!只能从1开始,于是我想到个办法,我们直接把0!直接打出来不就行了吗?所以这个问题就被解决了,嘿嘿,不愧是我。
后面的练习题和前面讲的差不多,就不拿出来说了。
今天就到这里吧,做其他学科的作业去了,嘿嘿。