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

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

    #include <stdio.h>
    int main()
    {
        int a,b,c,d,x,y;
        for(a=1;a<=9;a++)
        for(b=0;b<=9;b++)
        for(c=0;c<=9;c++)
        for(d=0;d<=9;d++)
        {
            x=a*1000+b*100+c*10+d;
            y=d*1000+c*100+b*10+a;
            if(x==4*y&&a!=b&&b!=c&&c!=d)
            {
                printf("%d
    ",x);
            }
        }
        return 0;
    }

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

      样例: 输入123,    输出 6     June

                输入12345,输出 15   ***

    #include <stdio.h>
    int main()
    {
        long x,sum=0,z;
        printf("请输入一串数字");
        scanf("%ld",&x);
        while(x>0)
        {
        z=x%10;
        x=x/10;
        sum+=z;
        }
        switch(sum)
        {
        case 1:printf("1  January");break;
        case 2:printf("2  Feburary");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;
        }
        if(sum>12)
        {
            printf("***");
        }
        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 i,j,k,a,b,c=0;
    printf("请输入一个不小于6的正整数"); scanf(
    "%d",&a); for(i=a;i<a+4;i++) for(j=a;j<a+4;j++) for(k=a;k<a+4;k++) if(i!=j&&j!=k&&k!=i) { b=i*100+j*10+k; printf("%d ",b); c++; if(c%6==0) { printf(" "); } } return 0; }

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

    附加题

      有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++)
        {
            if(a==1)
            {
                d=2;
            }
            if(a==2||a==3||a==5)
            {
                d=5;
            }
            if(a==4)
            {
                d=4;
            }
            if(a==0||a==6||a==9)
            {
                d=6;
            }
            if(a==7)
            {
                d=3;
            }
            if(a==8)
            {
                d=7;
            }
            if(b==1)
            {
                e=2;
            }
            if(b==2||b==3||b==5)
            {
                e=5;
            }
            if(b==4)
            {
                e=4;
            }
            if(b==0||b==6||b==9)
            {
                e=6;
            }
            if(b==7)
            {
                e=3;
            }
            if(b==8)
            {
                e=7;
            }
            c=a+b;
            if(c==1)
            {
                f=2;
            }
            if(c==2||c==3||c==5)
            {
                f=5;
            }
            if(c==4)
            {
                f=4;
            }
            if(c==0||c==6||c==9)
            {
                f=6;
            }
            if(c==7)
            {
                f=3;
            }
            if(c==8)
            {
                f=7;
            }
            if(d+e+f==12&&a!=b&&a+b==c)
            {
                printf("%d+%d=%d
    ",a,b,c);
            }
        }
         
    } 

    小项目:自动出题器

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main()
    {
        int a,b,result,answer,d,i,j=0,x,y,z,f,g=0,h=0;
        char c,choose;
        float accuracy,accuracy1;
        do
        {
        for (i=1;i<=5;i++)
        {
        srand(time(NULL));
        a=rand()%100;
        b=rand()%100;
        d=rand()%4+1;
        switch(d)
        {
            case 1:c='+';result=a+b;break;
            case 2:c='-';result=a-b;break;
            case 3:c='*';result=a*b;break;
            case 4:c='/';x=a/b;y=a%b;
        }
        printf("%d%c%d=?
    ",a,c,b);
        printf("请输入答案
    ");
        if (c=='/')
        {
        printf ("请输入商和余数,中间用空格隔开
    ");
        scanf("%d %d",&z,&f);
        h++;
           if (x==z&&y==f)
           {
               j++;
               g++;
           printf("you are right
    ");
           continue;
           }
           else
           { 
           printf("you are wrong,the right answer is %d %d
    ",x,y);
        
           continue;
           }
        }
        scanf("%d",&answer);
        h++;
        if (answer==result)
        {
            j++;
            g++;
            printf("you are right
    ");
        }
        else
        {
            printf("you are wrong,the right answer is %d
    ",result);
        }
        }
        accuracy=g/5.0;
        printf("你真棒,你做对了%d道题,正确率为%.2f%%",g,accuracy*100);
        printf("请选择继续游戏或者退出游戏,分别为Y(y),N(n)
    ");
        scanf(" %c",&choose);
        if(choose==78||choose==110)
        {
            printf("你选择了退出游戏");
            accuracy1=(float)j/h;
            printf("你一共对了%d道题,正确率为%.2f%%",j,accuracy1*100);
        }
        g=0;
        }while(choose==89||choose==121);
      
        
        return 0;
    }

    知识点总结:1 单独用if来做判断,if  else和switch  case都可以用!

                     2 重新开始循环用do   while较容易,用while要重新定义变量!

    实验总结:1 等号与赋值要弄清!

                  2 注意for循环下面的语句是在for循环里面还是外面!

                  3 返回最初循环是可重新定义变量或者用do  while,do  while 较简单!

                  4 代码较多就一步一步写,不要着急!

                  5 穷举法很好用,就是写出来的代码太多!

  • 相关阅读:
    3-2
    3-1
    2-11
    2-10
    2-7
    2-9
    springboot 使用undertow代替tomcat容器提高吞吐量
    springboot—JVM性能参数调优
    springbootDay3
    springboot_Mybaits_PageHelper
  • 原文地址:https://www.cnblogs.com/5267wss/p/6050107.html
Copyright © 2011-2022 走看看