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

    第十一周编程总结

    题目1:11-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*1到N*N的部分口诀表。

    1).实验代码

    #include<stdio.h>

    int main()

    {

      int n;

      scanf("%d",&n);

      for(int i = 1;i <=n ;i++){

        for(int j = 1;j <= i;j++){

          if(i * j >= 10){

            printf("%d*%d=%d  ", j, i, j * i); //2格

          }

          else{

            printf("%d*%d=%d   ", j, i, j * i);//3格

          }

        }

        printf(" ");

      }

      return 0;

    }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    2).设计思路

    第一步 考虑到使用嵌套语句循环,输入一个整数

    第二步 定义i从1开始循环到n停止

    第三步 定义一个j从1开始循环到i停止

    第四步 格式化输出,当i和j的成绩大于10的时候要空2格,否则空3格

    3)本题调试中遇到的问题及解决方案

    在输出乘法表的时候出现空格问题,不知道如何去打印

    4).运行结果截图

            

    题目2:11-2 换硬币 (20 分)

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

    1).实验代码

    #include<stdio.h>

    int main()

    {

      int x,count=0;

      scanf("%d",&x);

      for ( int k = x / 5; k > 0; k-- )

      for ( int i = x / 2; i > 0; i-- )

      for ( int j = x; j > 0; j-- )

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

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

        count++;

      }

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

      return 0;

    }

    2).设计思路

    第一步 输入零钱x

    第二步 使用嵌套循环定义一个k从x/5开始循环,定义一个i从i/2开始循环,定义一个j从x开始循环,不断累减

    第三步 当满足k*5+i*2+j==x条件时进行输出,此时就是对应的硬币数

    4).运行结果截图

    题目3:11-3 找完数 (20 分)

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

    1).实验代码

    #include<stdio.h>

    int main(){

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

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

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

                  if(i==1) continue;

                  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).设计思路

    第一步 输入2个数m、n      

    第二步 i从m开始循环到n结束,定义的j从2开始循环到i停止不断累加

    第三步 用sum来累加能整出的数

    第四步 如果sum==i说明完数只有1

    3)本题调试中遇到的问题及解决方案

    嵌套循环次数使用的次数过多,自己都有点晕

    4).运行结果截图

  • 相关阅读:
    因为付出,所以喜欢。开发就是这么坑!
    停滞在一个圈子,决定人生的高低![深度文章]
    我不曾忘记的初心-程序员如何看待买房子
    能力要进化-还在技术停滞不前吃老本吗?
    能力要进化-还在技术停滞不前吃老本吗?
    我不曾忘记初心-我们最终都成了自己讨厌的人
    我不曾忘记初心-我们最终都成了自己讨厌的人
    我不曾忘记的初心-冒险努力正是你缺少的!
    我不曾忘记的初心-冒险努力正是你缺少的!
    JS之正则表达式
  • 原文地址:https://www.cnblogs.com/chenguohhw/p/10089116.html
Copyright © 2011-2022 走看看