• 第六次作业


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

    #include<stdio.h>
    int main()
    {
        int i,a,b,c,d,x;
        i=1000;
        while(i<10000)
        {
            a=i%10;
            b=i%100/10;
            c=i/100%10;
            d=i/1000;
            x=a*1000+b*100+c*10+d;
            if(i==4*x)
            {
                printf("%d
    ",i);
            }
            i++;
        }
        return 0;
    }

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

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

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

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

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

    #include<stdio.h>
    int main()
    {
        int a,b,c,d,e,f,g,i,j=0;
        printf("请输入一个不大于6的整数");
        scanf("%d",&a);
        if(a>=1&&a<=6)
        {
            b=a+1;
            c=a+2;
            d=a+3;
            for(i=a*100;i<=999;i++)
            {
                e=i/100;
                f=i%100/10;
                g=i%10;
                if(e!=f&&f!=g&&g!=e&&e>=a&&e<=d&&f>=a&&f<=d&&g>=a&&g<=d)
                {
                    printf("%4d",i);
                    j++;
                    if(j%6==0)
                    {
                        printf("
    ");
                    }
                }
            }
        }
        return 0;
    } 

    4.猜拳游戏

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        int a,b,i=0,j=0,k=0,l=0;
        char x;
            do
            {    srand(time(NULL)); 
                b=rand()%3+1;
                printf("请输入你的选择:1。剪刀2。拳头3。布
    ");
                scanf("%d",&a);
                while(a<=0||a>3)
                {
                    printf("error
    ");
                    scanf("%d",&a);
                }
                if(a==b)
                {
                    printf("平局
    ");
                    l++;
                }
                else if((a==1&&b==2)||(a==2&&b==3)||(a==3&&b==1))
                {
                    printf("你输了
    ");
                    if(b==1)
                    {
                        printf("电脑出的剪刀");
                    }
                    else if(b==2)
                    {
                        printf("电脑出的石头");
                    }
                    else if(b==3)
                    {
                        printf("电脑出的布");
                    }
                    j++;
                }
                else if((a==2&&b==1)||(a==3&&b==2)||(a==1&&b==3))
                {
                    printf("你赢了
    ");
                    if(b==1)
                    {
                        printf("电脑出的剪刀");
                    }
                    else if(b==2)
                    {
                        printf("电脑出的石头");
                    }
                    else if(b==3)
                    {
                        printf("电脑出的布");
                    }
                    k++;
                }
                i++;
                printf("请问你是否要继续“y”or“n”");
                    scanf(" %c",&x);
            }while(x=='y'||x=='Y');
                printf("一共进行了%d次,平局了%d次,输了%d次,赢了%d次",i,l,j,k);
            return 0;
    }

    实验总结:如果情况很多的话,用switch比用if要简单一些,也更清楚。

                 当你进行循环的时候,要考虑,什么语句应该放在外面,什么放在里面。

                 do  while和while一个实现执行后判断,一个实现判断后执行

                 

  • 相关阅读:
    删除git上已经提交的文件
    spark安装
    Ganglia+nagios 监控hadoop资源与报警
    自定义标签库开发与el表达式
    JavaBean与MVC
    Jsp-查漏补缺
    HttpSession
    Cookie
    HttpServleRequest
    Servlet学习-查漏补缺
  • 原文地址:https://www.cnblogs.com/xuan0826/p/6058208.html
Copyright © 2020-2023  润新知