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

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

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

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

      样例: 输入123,    输出 6     June

                输入12345,输出 15   ***

    #include <stdio.h>
    int main()
    {
        int x,sum=0,i=1,num=0;
        printf("请输入一个数:
    ");
        scanf("%d",&x);
        if(x>10)
        {
            while(i>0)
            {
                i=x%10;
                sum=sum+i;
                x=x/10;
                {
                    if(x<10)
                    {
                        sum=sum+x;
                        break;
                    }
                }
            }
            printf("%d
    ",sum);
            switch(sum)
            {
                case 1: 
                    sum=1;
                    printf("January");
                    break;
                case 2: 
                    sum=2;
                    printf("February");
                    break;
                case 3: 
                    sum=3;
                    printf("March");
                    break;
                case 4: 
                    sum=4;
                    printf("April");
                    break;
                case 5: 
                    sum=5;
                    printf("May");
                    break;
                case 6: 
                    sum=6;
                    printf("June");
                    break;
                case 7: 
                    sum=7;
                    printf("July");
                    break;
                case 8: 
                    sum=8;
                    printf("August");
                    break;
                case 9: 
                    sum=9;
                    printf("September");
                    break;
                case 10: 
                    sum=10;
                    printf("October");
                    break;
                case 11: 
                    sum=11;
                    printf("November");
                    break;
                case 12: 
                    sum=12;
                    printf("December");
                    break;
            }
        }
        else if(x<-10)
        {
            while(i>0)
            {
                i=x%(-10);
                i=i*(-1);
                sum=sum+i;
                x=x/(-10);
                if(x>0)
                {
                    sum=sum+x;
                    break;
                }
            }
            printf("%d
    ",sum);
            switch(sum)
            {
                case 1: 
                    sum=1;
                    printf("January");
                    break;
                case 2: 
                    sum=2;
                    printf("February");
                    break;
                case 3: 
                    sum=3;
                    printf("March");
                    break;
                case 4: 
                    sum=4;
                    printf("April");
                    break;
                case 5: 
                    sum=5;
                    printf("May");
                    break;
                case 6: 
                    sum=6;
                    printf("June");
                    break;
                case 7: 
                    sum=7;
                    printf("July");
                    break;
                case 8: 
                    sum=8;
                    printf("August");
                    break;
                case 9: 
                    sum=9;
                    printf("September");
                    break;
                case 10: 
                    sum=10;
                    printf("October");
                    break;
                case 11: 
                    sum=11;
                    printf("November");
                    break;
                case 12: 
                    sum=12;
                    printf("December");
                    break;
            }
        }
        else if(x==0)
        {
            printf("num=0"); 
        }
        else
        {
            printf("intput error!!");
        }
        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

      此题可在pta网站注册提交测试。https://pta.patest.cn/pta/test/14/exam/4/question/796

    #include <stdio.h>
    int main()
    {
        int A,B=0,i,g,h,number; 
        printf("请输入一个数:
    ");
        scanf("%d",&A);
        for(i=A;i<=(A+3);i++)
        {
            for(g=A;g<=(A+3);g++)
            {
                for(h=A;h<=(A+3);h++)
                {
                    if(i!=g&&i!=h&&g!=h) 
                    {
                        number=i*100+g*10+h;
                        printf("%d ",number);
                        B++;
                        if(B%6==0)
                        {
                            printf("
    ");
                        }
                    }
                    else
                    {
                        continue;
                    }
                }
            }
        }
        return 0;
    }

    4. 万年历、看商品猜价格、自动出题器、猜拳游戏。(完成个人选定的题目)

    #include <stdio.h>
    int main()
    {
        int DE=1,year,year1,sum,g,h,l,month,day=0,T,run,K,f=0;
        printf("请输入一个年份和月份:
    ");
        scanf("%d%d",&year,&month);
        while(DE=1)
        {
            if(year<1900||month<1||month>12)
            {
                printf("input  error!!请重新输入:
    ");
                DE=1;
            }
            else
            {
                break;
            }
            scanf("%d%d",&year,&month);
        }
        system("CLS");
        run=(year-1904)/4+1;     
        day=365*(year-1900-run)+run*366;     
        K=month-1;  
        printf("星期一	星期二	星期三	星期四	星期五	星期六	星期日
    ");                                      
        if(year%4==0&&year%100!=0||year%400==0)
        {
            switch(K)
            {
                case 0:
                    sum=0;
                    g=31;
                    break;
                case 1:
                    sum=31;
                    g=29; 
                    break;
                case 2:
                    sum=60;
                    g=31;
                    break;
                case 3:
                    sum=91;
                    g=30;
                    break;
                case 4:
                    sum=121;
                    g=31;
                    break;
                case 5:
                    sum=152;
                    g=30;
                    break;
                case 6:
                    sum=182;
                    g=31;
                    break;
                case 7:
                    sum=213;
                    g=31;
                    break;
                case 8:
                    sum=244;
                    g=30;
                    break;
                case 9:
                    sum=274;
                    g=31;
                    break;
                case 10:
                    sum=305;
                    g=30;
                    break;
                case 11:
                    sum=335;
                    g=31;
                    break;
            }
            day=day+sum;       
            T=day%7-1;           
            if(T==0) 
            {      
                for(l=1;l<=g;l++)
                {
                    printf("%d	",l);
                    f++;              
                    if((f+T)%7==0)
                    {
                        printf("
    ");
                    }
                }
            }
            else     
            {  
                for(h=1;h<=T;h++)  
                {
                    printf("	");
                }
                
                for(l=1;l<=g;l++) 
                {
                    
                    printf("%d	",l);
                    f++;
                    if((f+T)%7==0)
                    {
                        printf("
    ");
                    }
                }
            }
        }
        else
        {
            switch(K)
            {
                case 0:
                    sum=0;
                    g=31;
                    break;
                case 1:
                    sum=31;
                    g=28; 
                    break;
                case 2:
                    sum=59;
                    g=31;
                    break;
                case 3:
                    sum=90;
                    g=30;
                    break;
                case 4:
                    sum=120;
                    g=31;
                    break;
                case 5:
                    sum=151;
                    g=30;
                    break;
                case 6:
                    sum=181;
                    g=31;
                    break;
                case 7:
                    sum=212;
                    g=31;
                    break;
                case 8:
                    sum=243;
                    g=30;
                    break;
                case 9:
                    sum=273;
                    g=31;
                    break;
                case 10:
                    sum=304;
                    g=30;
                    break;
                case 11:
                    sum=334;
                    g=31;
                    break;
            }
        day=day+sum;       
            T=day%7;           
            if(T==0) 
            {      
                for(l=1;l<=g;l++)
                {
                    printf("%d	",l);
                    f++;              
                    if((f+T)%7==0)
                    {
                        printf("
    ");
                    }
                }
            }
            else     
            {  
                for(h=1;h<=T;h++) 
                {
                    printf("	");
                }
                
                for(l=1;l<=g;l++)  
                {
                    
                    printf("%d	",l);
                    f++;
                    if((f+T)%7==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 x1,x2,x3,club1,club2,club3,sum,num;
        for(x1=0;x1<=9;x1++)
        {
            switch(x1)
            {
                case 0:
                    club1=6;
                    break;
                case 1:
                    club1=2;
                    break;
                case 2:
                    club1=5;
                    break;
                case 3:
                    club1=5;
                    break;
                case 4:
                    club1=4;
                    break;
                case 5:
                       club1=5;
                    break;
                case 6:
                    club1=6;
                    break;
                case 7:
                       club1=3;
                       break;
                case 8:
                       club1=7;
                       break;
                case 9:
                       club1=6;
                       break;
                        
                    }
            for(x2=0;x2<=9;x2++)
            {
                switch(x2)
                    {
                        case 0:
                            club2=6;
                            break;
                        case 1:
                            club2=2;
                            break;
                        case 2:
                            club2=5;
                            break;
                        case 3:
                            club2=5;
                            break;
                        case 4:
                            club2=4;
                            break;
                        case 5:
                            club2=5;
                            break;
                        case 6:
                            club2=6;
                            break;
                        case 7:
                            club2=3;
                            break;
                        case 8:
                            club2=7;
                            break;
                        case 9:
                            club2=6;
                            break;
                        
                    }
                for(x3=0;x3<=9;x3++)
                {
                    switch(x3)
                    {
                        case 0:
                            club3=6;
                            break;
                        case 1:
                            club3=2;
                            break;
                        case 2:
                            club3=5;
                            break;
                        case 3:
                            club3=5;
                            break;
                        case 4:
                            club3=4;
                            break;
                        case 5:
                            club3=5;
                            break;
                        case 6:
                            club3=6;
                            break;
                        case 7:
                            club3=3;
                            break;
                        case 8:
                            club3=7;
                            break;
                        case 9:
                            club3=6;
                            break;
                        
                    }
                    sum=club1+club2+club3;
                    if(sum==12&&x1+x2==x3)
                    {
                        num++;
                        printf("%d+%d=%d
    ",x1,x2,x3);
                    }
                }
            }
        }
        printf("%d
    ",num);
        return 0;
    }

    顺序结构:

    1:在程序中较为常见,思路简单。

    2:内容格式简单明了,但是对于重复输出类的程序就需要多次进行,远不如循环结构。

    循环结构:

    1:和顺序结构相比,处理多次输入的程序有神效。

    2:循环结构固定,但是做题思路不定,导致一题N解。

    3:循环结构自身也有一定的区别,for  while    do...while  ,注意使用时机。个人不喜欢用do...while。

    选择结构:

    1:条件判断if 用于可语句判断,而switch仅能用于判断一个值。

    2:switch在循环里一般是被套用,而if语句则可以套用循环。

    实验总结:

    1:可以利用整形除整形得数为整型的特点来进行一些数据的处理。

    2:数据类型的定义要注意时机。

    3:一个汉字的数学长度等于两个小写字母的数学长度。

    4:  固定输出四个空格      system('CLS')清屏操作

    5:变量注意赋初值。

    1:遇到难题别怂,顶着头皮做就是了....

  • 相关阅读:
    android 设置时间和日期
    android 对话框
    android notification 通知
    android 动画(转载)
    js的作用域题
    js高级
    js中级6
    js中级小知识5
    js中级小知识4
    js中级小知识3
  • 原文地址:https://www.cnblogs.com/yanchao980817/p/6055657.html
Copyright © 2011-2022 走看看