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

第六次作业

时间:2016-11-11 23:25:46      阅读:376      评论:0      收藏:0      [点我收藏+]

标签:nbsp   case   strong   oat   开始   ret   代码   int   不同   

 

 

 

 

实验一:

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

代码:

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

 技术分享

 

 实验二:

 

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

 

  样例: 输入123,    输出 6     June

 

            输入12345,输出 15   ***

代码:

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

 技术分享技术分享

 

实验三:

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

   输入格式:输入在一行中给出A。

   输出格式:输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。

   输入样例:2

   输出样例:234  235  243  245  253  254

                  324  325  342  345  352  354

                  423  425  432  435  452  453

                  523  524  532  534  542  543

代码:

 

#include<stdio.h>
int main()
{
    int A,a,b,c,d,e,f,i,x=0;
    printf("请给定一个不超过6的正整数");
    scanf("%d",&A);
    a=A+1;
    b=A+2;
    c=A+3;
    for(i=A*100;i<=1000;i++)
    {
        d=i/100;
        e=(i/10)%10;
        f=i%10;
        if(d!=e&&d!=f&&e!=f)
        {
            if(d<=c&&e<=c&&f<=c&&d!=0&&e!=0&&f!=0&&d>=A&&e>=A&&f>=A)
            {
                printf("%d",i); 
                x++;
                if(x%5<5)
                {
                    printf(" ");
                }
                if(x%6==0)
                {
                    printf("\n");
                }
            }
        }
     } 
     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根火柴棍必须全部用上

  用火柴棍拼数字0-9的拼法如图所示: 

              技术分享

代码:

#include<stdio.h> 
int main()
{
 int a,b,c,d,e,f;
 for(a=0;a<=9;a++)
 {
  for(b=0;b<=9;b++)
  {
   for(c=0;c<=9;c++)
   {
   if(a+b==c)
   {
    if(a==1)
    {
     d=2;
    }
    if(a==7)
    {
     d=3;
    }
    if(a==4)
    {
     d=4;
    }
    if(a==2||a==3||a==5)
    {
     d=5;
    }
    if(a==6||a==9||a==0)
    {
     d=6;
    }
    if(a==8)
    {
     d=7;
    }
    if(b==1)
    {
     e=2;
    }
    if(b==7)
    {
     e=3;
    }
    if(b==4)
    {
     e=4;
    }
    if(b==2||b==3||b==5)
    {
     e=5;
    }
    if(b==6||b==9||b==0)
    {
     e=6;
    }
    if(b==8)
    {
     e=7;
    }
    if(c==1)
    {
     f=2;
    }
    if(c==7)
    {
     f=3;
    }
    if(c==4)
    {
     f=4;
    }
    if(c==2||c==3||c==5)
    {
     f=5;
    }
    if(c==6||c==9||c==0)
    {
     f=6;
    }
    if(c==8)
    {
     f=7;
    }
    if(d+e+f==12)
    {
     printf("%d+%d=%d \n",a,b,c);
    }
   }
  }
 }
 }
 return 0;
}

 技术分享

 

第六次作业

标签:nbsp   case   strong   oat   开始   ret   代码   int   不同   

原文地址:http://www.cnblogs.com/myfdpk/p/6049413.html

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