zoukankan      html  css  js  c++  java
  • 第七周编程总结--助教

    题目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 ", 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)运行结果截图
  • 相关阅读:
    XJ20夏令营做题记录(长期更新)
    洛谷P6623——[省选联考 2020 A 卷] 树
    [游记] 2020ZJOI 爆零记
    CF1017G——The Tree
    CF715E—— Complete the Permutations
    学习笔记——树的初步整理
    学习笔记——DP初步整理
    洛谷P5290——春节十二响
    POJ3017——Cut the Sequence(单调队列+堆优化DP)
    Java控制整形输入的法子
  • 原文地址:https://www.cnblogs.com/zw431387/p/9872291.html
Copyright © 2011-2022 走看看