第十一周编程总结

 
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("\n");

  }

  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\n",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("\n");

            num++;

        

      }

      

    }

    

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

 

  }

  return 0;

}2).设计思路

第一步:定义变量

第二步:输入变量

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

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

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

第六步:输出答案

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

 

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

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

4).运行结果截图

         

 

 

posted @ 2018-11-25 19:49  孙笑川6324  阅读(274)  评论(0编辑  收藏  举报
1 2 3