码迷,mamicode.com
首页 > 其他好文 > 详细

第六次作业

时间:2016-11-08 01:36:31      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:bsp   自己的   方法   ***   src   image   img   font   复杂   

1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。

# include <stdio.h>
int main()
{
    int a,b,c,d,e,f,g;
    for(a=1000;a<=9999;a++)
    {
        b=a/1000;
        c=a%1000/100;
        d=a%1000%100/10;
        f=a%1000%100%10;
        if(b==c||c==d||d==f)
        {
            continue;
        }
        g=b+c*10+d*100+f*1000;
        g=4*g;
        if(g==a)
        {
            printf("%d",a);
        }
     } 
     return 0;
}

技术分享

 

2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***

#include<stdio.h>
int main ()
{
    int a,b,c=0,d,e,g,f;
    printf("输入一串数字\n");
    scanf("%d",&a);
    while(1)
    {
        b=a%10;
        c=c+b;
        a=a/10;
        if(b==0)
        {
            break;
        }
    }
        if(c<=0||c>=13)
        {
            printf("***\n");
        }
        switch(c)
        {                                                                           
            case 1:printf(" January");  
            break; 
            case 2:printf(" February");
            break; 
            case 3:printf(" March"); 
            break; 
            case 4:printf(" April"); 
            break; 
            case 5:printf(" May"); 
            break; 
            case 6:printf(" June"); 
            break; 
            case 7:printf(" July");     
            break; 
            case 8:printf(" August"); 
            break; 
            case 9:printf(" September"); 
            break;     
            case 10:printf(" October"); 
            break; 
            case 11:printf(" November");
            break; 
            case 12:printf(" December");
            break; 
        }
    
    return 0;
 } 

技术分享

 

3.给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。

# include<stdio.h>
int main()
{
    int a,b,c,d,e,f,sum1,sum2,sum3,sum,g=0;
    printf("输入一个不大于6的正整数\n");
    scanf("%d",&a);
    if(a>=7)
    {
        printf("输入错误\n");
    }
    c=a+4;
    for(b=a;b<=c;b++)
    {
      for(e=a;e<=c;e++)
        {
          for(f=a;f<=c;f++)
            {
               sum1=f;
               sum2=e;
               sum3=b;
              if(sum1==sum2||sum2==sum3||sum1==sum3)
                {
                      continue;
                  }
               sum=sum3*100+sum2*10+sum1;
               ++g;
                  if(g%6!=0)
                  {
                     printf("%-4d",sum);
                   } 
              if (g%6==0)
                {
                    printf("%-4d\n",sum);
                }        
           }
        }
    }
    return 0;
 } 

技术分享

 

附加题

  有16根火柴,可以拼出多少个形如“A+B=C”的等式,A、B、C是用火柴棍拼出的整数,且为一位数,输出该等式形式。

 注意:  1. 加号与等号各自需要两根火柴棍    2. 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0) 3. 16根火柴棍必须全部用上

# include<stdio.h>
int main()
{
    int a,b,c,d,e,f,g,q;
    for(a=0;a<=9;a++)
    {
        for(b=0;b<=9;b++)
        {
            switch(a)
            {
                case 0:c=6;    break;
                case 1:c=2;    break;
                case 2:c=5;    break;
                case 3:c=5;    break;
                case 4:c=4;    break;
                case 5:c=5;    break;
                case 6:c=6;    break;
                case 7:c=3;    break;
                case 8:c=7;    break;
                case 9:c=6;    break;
            }
            switch(b)
            {
                case 0:d=6;    break;
                case 1:d=2;    break;
                case 2:d=5;    break;
                case 3:d=5;    break;
                case 4:d=4;    break;
                case 5:d=5;    break;
                case 6:d=6;    break;
                case 7:d=3;    break;
                case 8:d=7;    break;
                case 9:d=6;    break;
            }
            g=a+b;
                switch(g)
            {
                case 0:q=6;    break;
                case 1:q=2;    break;
                case 2:q=5;    break;
                case 3:q=5;    break;
                case 4:q=4;    break;
                case 5:q=5;    break;
                case 6:q=6;    break;
                case 7:q=3;    break;
                case 8:q=7;    break;
                case 9:q=6;    break;
            }
            f=q+c+d;
            if(g/10!=0)
            {
                continue;
            }
            if(f==12)
{ printf(
"%d+%d=%d ",b,a,g); } } } return 0; 技术分享

知识点总结:

在写程序是对于程序进行逻辑分析,选择适当的结构顺序,各种顺序可以套用,循环结构在复杂的程序中经常应用,循序结构是最简单的,之后是选择结构,

 

 

实验总结:

1.有时候程序出现问题,然而自己的想法却觉得没错的话,可以重新写一遍这个代码,

2.读清题目的要求,有时不仔细看清就写往往使麻烦程度增大,

3.在程序写完运行编译出现错误时往往是自己的不仔细,有时是没有加分号或者声明变量,

4.在想不出的时候打草稿有时是解决问题的方法,

5.倔强,死扣,在不会或者搞不出来的时候硬想,一天弄不出来,问呗。

第六次作业

标签:bsp   自己的   方法   ***   src   image   img   font   复杂   

原文地址:http://www.cnblogs.com/saber114567/p/6040960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!