题目1 生成3的乘方表 (1)实验代码 #include<stdio.h> #include<math.h> int main() {
int i,n;
double power;
scanf("%d",&n);
for(i=0;i<=n;i++){ power=pow(3,i); printf("pow(3,%d) = %.0f\n", i, power);
} return 0; } (2)设计思路 第一步:定义math函数,定义变量 第二步:输入变量 第三步:运用for循环,显示式子 第四步:输出 (3)本题调试过程碰到问题及解决办法 书上有例题,不是很难。没什么问题。 (4)运行结果截图
题目2 求平方根序列前N项和 (1)实验代码 #include<stdio.h> #include<math.h> int main () { int i, n; double sum; scanf("%d",&n); sum = 0; for (i = 1;i <= n;i++) { sum = sum + sqrt(i); } printf ("sum = %.2f",sum); return 0; } (2)设计思路 第一步:定义math函数,定义变量 第二步:输入变量 第三步:运用for循环实现累加 第四步:输出sum (3)本题调试过程碰到问题及解决办法 没什么问题。 (4)运行结果截图
题目3 求幂之和 (1)实验代码 #include<stdio.h> #include<math.h> int main () { int i, n, result; scanf("%d",&n); result = 0; for (i = 1;i <= n;i++) { result = result + pow(2,i); } printf ("result = %d", result); return 0; } (2)设计思路 第一步:定义math函数,定义变量 第二步:输入变量 第三步:用for循环实现累加 第四步:输出result (3)本题调试过程碰到问题及解决办法 没问题,跟上一题是一个类型的。 (4)运行结果截图
题目4 求组合数 (1)实验代码 #include<stdio.h> double fact (int n); int main () { int m, n; double result; scanf("%d %d", &m, &n); result = fact(n) / (fact(m) * fact(n - m));
printf ("result = %.0f", result); return 0; } double fact(int n) {
double sum=1;
int i;
for(i=1;i<=n;i++) {
sum=sum*i;
}
return sum;
} (2)设计思路 第一步:定义自定义函数,定义变量 第二步:输入变量,将计算的值赋值给result 第三步:输出result 第四步:将自定义函数编写完成,实际上是一个单独的小编程,实现累乘 (3)本题调试过程碰到问题及解决办法 书上有例题,并不难,值得注意的是自定义函数中头文件中要有分号,而解释函数不需要分号。 (4)运行结果截图
题目5 验证“哥德巴赫猜想 (1)实验代码 #include<stdio.h> #include<math.h> int fact (int n); int main (void) { int i, n, j; double result; scanf ("%d", &n); if (n == 4) { printf("4 = 2 + 2"); return 0; }
for (i = 3; i < n / 2;i+=2) { if (fact(i)) { j = n - i; if (fact(j)) { printf("%d = %d + %d",n,i,j); break; } } } return 0; } int fact (int n) { int i, k; k = sqrt(n);
for (i=2; i <=k; i++) { if(n % i == 0) { return 0; } } return 1; } (2)设计思路 第一步:将素数的自定义函数写好,定义为fact函数。 第二步:定义主函数,变量,输入变量 第三步:计算,写好最小的n=4时候的结果 第四步:输出式子 (3)本题调试过程碰到问题及解决办法 本题中难点在于素数的求法,如何返回值,最小的n值。书上102和103有详细的解释,还有74页,可以参考一下。 (4)运行结果截图