第七周编程总结--助教
题目1 生成3的乘方表
(1)实验代码
#include<stdio.h>
#include<math.h>
int main()
{
(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);
power=pow(3,i);
printf("pow(3,%d) = %.0f\n", i, power);
}
return 0;
}
(2)设计思路
第一步:定义math函数,定义变量
第二步:输入变量
第三步:运用for循环,显示式子
第四步:输出
(3)本题调试过程碰到问题及解决办法
书上有例题,不是很难。没什么问题。
(4)运行结果截图
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)
{
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)运行结果截图
(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);
{
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)运行结果截图
{
if(n % i == 0)
{
return 0;
}
}
return 1;
}
(2)设计思路
第一步:将素数的自定义函数写好,定义为fact函数。
第二步:定义主函数,变量,输入变量
第三步:计算,写好最小的n=4时候的结果
第四步:输出式子
(3)本题调试过程碰到问题及解决办法
本题中难点在于素数的求法,如何返回值,最小的n值。书上102和103有详细的解释,还有74页,可以参考一下。
(4)运行结果截图