zoukankan      html  css  js  c++  java
  • 第六次作业

    实验一:

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

    代码:

    #include<stdio.h>
    int main()
    {
     int a,b,c,d,i,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(e*4==i)
      {
       printf("%d ",i);
      }
     }
     return 0;
    }

     

     实验二:

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

      样例: 输入123,    输出 6     June

                输入12345,输出 15   ***

    代码:

    #include<stdio.h>
    int main()
    {
        int y=0,x,i,a;
        printf("请输入一个多位数字
    ");
        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("
    ");
                    }
                }
            }
         } 
         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 ",a,b,c);
        }
       }
      }
     }
     }
     return 0;
    }

     

    万年历:

    #include<stdio.h>
    int main()
    {
        int i,year,years,month,months,day,days=0,x,mday,numbur,week;
        printf("请输入年和月,用逗号隔开
    ");
        scanf("%d%d",&year,&month);
        for(years=1900;years<=year;years++)
        {
            if(years%4==0&&years%100!=0||years%400==0)
            {
                day=366;
            }
            else
            {
                day=365;
            }
            days=days+day;
        } 
        for(months=1;months<=month;months++)
        {
            if(months==1||months==3||months==5||months==7||months==8||months==10||months==12)
            {
                mday=31;
            }
            if(months==4||months==6||month==9||month==11)
            {
                mday=30;
            }
            if(month==2)
            {
                if(years%4==0&&years%100!=0||years%400==0)
                {
                    mday==29;
                }
                else
                {
                    mday==28;
                }
            }
            days=days+mday;
        }
        week=days%7;
        printf("             =========%d年=========
    
    ",year);
        printf("                              %d月  
    
    ",month);
        printf("星期日  星期一  星期二  星期三  星期四  星期五  星期六
    ");
        printf("=======================================================
    ");
        switch(week%7)
        {
            case 0: printf("	");x=1;break;
            case 1: printf("		");x=2;break;
            case 2: printf("			");x=3;break;
            case 3: printf("				");x=4;break;
            case 4: printf("					");x=5;break;
            case 5: printf("						");x=6;break;
            case 6: x=0;break;
        }
            if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
            {
                mday=31;
            }
            if(month==4||month==6||month==9||month==11)
            {
                mday=30;
            }
            if(month==2)
            {
                if(year%4==0&&year%100!=0||year%400==0)
                {
                    mday=29;
                }
                else
                {
                    mday=28;
                }
            }
            for(numbur=1;numbur<=mday;numbur++)
            {
                x++;
                printf("   %2d   ",numbur);
                if(x%7==0)
                printf("
    ");
            }
        return 0;
    }

    知识点总结:

    顺序结构

    1  顺序结构需要注意的是语句需要赋值时要在合适的地方;

    2  顺序结构思路要清晰,要让人容易理解;

    循环结构

    1  循环结构有多种如while,do  while,for循环,不同情况下选择不同的结构;

    2  当知道循环条件时用for循环

    3  当需要用户多次输入时用while循环

    选择结构

    1  选择结构有if 和swich两个结构,swich需要把各种情况分别用一个语句列出

    2  if语句要学会嵌套,思路要清晰

    实验总结:

    1  数据较小时没有必要定义为float型,定义为int型即可;

    2  当用整除不能得到想要的结果时可以换个思路,比如换成相乘;

    3  想要跳出循环时可以用continue跳出;

    4  fflush语句是清除缓存的,system是清屏的,不要混淆,两个语句都是包含在<stdlib.h>库文件中

  • 相关阅读:
    git hub 资料汇总
    java 实例化是调用了子类重写方法
    java接口示例
    cumber + selenium +java自动化测试
    解决selenium 启动ie浏览器报错:Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones
    springmvc 数据回显功能
    springmvc管理资源开放
    springmvc 中controller与jsp传值
    springmvc注解事例
    springmvc
  • 原文地址:https://www.cnblogs.com/myfdpk/p/6049413.html
Copyright © 2011-2022 走看看