zoukankan      html  css  js  c++  java
  • 第十一周编程总结

     
    7-1 打印九九口诀表 (15 分)

    下面是一个完整的下三角九九口诀表:

    1*1=1   

    1*2=2   2*2=4   

    1*3=3   2*3=6   3*3=9   

    1*4=4   2*4=8   3*4=12  4*4=16  

    1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  

    1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  

    1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  

    1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  

    1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  

    本题要求对任意给定的一位正整数N,输出从1*1N*N的部分口诀表

    1).实验代码

    #include<stdio.h>

    int main()

    {

      int N,i,k,j;

      scanf("%d",&N);

      for(i=1;i<=N;i++){

        for(k=1;k<=i;k++){

        

          printf("%d*%d=%-4d",k,i,i*k);

          

        }

        printf(" ");

      }

      return 0;

    }

    2). 设计思路

    第一步:定义变量

    第二步:输入变量

    第三步:调用for语句,判断行列的变量

    第四步:打印乘法表

    3).本题调试过程碰到的问题及解决方法        

            问题:没有注意等号右边数字占数与对齐方向

           解决方法:将%d更改为%-d

           4).运行结果截图

      

          

    7-2 换硬币 (20 分)

    将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

    1)实验代码

    #include<stdio.h>

    int main()

    {

      int n,k,j,m,count=0,i;

      scanf("%d",&n);

      

      for(i=n/5;i>0;i--){

       for(j=n/2;j>0;j--){

       for(k=n;k>0;k--){

       if(i*5+j*2+k==n){

      

       printf("fen5:%d, fen2:%d, fen1:%d, total:%d ",i,j,k,i+j+k);

       count++;

      }

      }

      }

      }

     printf("count = %d",count);

        

      

      return 0;

    }

    2).设计思路

    第一步:定义变量

    第二步:输入变量

    第三步:调用for语句进行考虑5分、2分、1分的换法

    第四步:判断所换得金额是否与输入的原金额相同

    第五步:输出答案

    3) .本题调试过程碰到的问题及解决方法                          

              问题:换法考虑不全

              解决方法:进行多维思考

           4).运行结果截图

    7-3 找完数 (20 分)

    所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数mn之间的所有完数。

    1).实验代码

    #include<stdio.h>

    int main()

    {

      int n,m,sum=0,j,i,num=0;

      scanf("%d %d",&m,&n);

      if(1<m<=n<=10000){

        

        for(i=m;i<=n;i++){

          

          sum=1;

          for(j=2;j<i;j++){

            

            if(i%j==0) sum+=j;

            

          }

          if(sum==i){

            

            printf("%d = 1",i);

            for(j=2;j<i;j++)

                if(i%j==0)

                   printf(" + %d",j);

                   printf(" ");

                num++;

            

          }

          

        }

        

        if(num==0) printf("None ");

      }

      return 0;

    }2).设计思路

    第一步:定义变量

    第二步:输入变量

    第三步:调用if语句,判断输入的的变量是否满足题目要求

    第四步:调用for语句寻找因子

    第五步:判断因子的和是否与原数相等

    第六步:输出答案

    3).本题调试过程碰到的问题及解决方法

    问题:没有考虑题目要求输入的值的范围

    解决方法:调用if语句判断输入的值是否满足题目要求

    4).运行结果截图

             

     

     

  • 相关阅读:
    UVALIVE 6958 Indoorienteering
    Calendar Game
    Wizard's Tour
    2017 ACM-ICPC 亚洲区(西安赛区)网络赛 G. Xor
    Alliances
    2017沈阳网络赛hdu6199 gems gems gems
    pytorch 的max函数
    pytorch调用gpu
    jupyter notebook实现代码自动补全
    pytorch强大的自动求导功能
  • 原文地址:https://www.cnblogs.com/lmcmha/p/10016915.html
Copyright © 2011-2022 走看看