第六次作业

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一个实现执行后判断,一个实现判断后执行

             

原文地址:https://www.cnblogs.com/xuan0826/p/6058208.html