首页 > 代码库 > 第六次作业

第六次作业

一,

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

代码:

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

程序运行结果:

技术分享

二,

实验要求:

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

  样例: 输入123,    输出 6     June

            输入12345,输出 15   ***

代码:

#include<stdio.h>
int main()
{
    long x,y,z;
    z=0;
    printf("请输入一个多位数。\n");
    scanf("%ld",&x);
    while(x>0)
    {
        y=x%10;
        x=x/10;
        z=z+y;
    }
    switch(z)
    {
        case 1:printf("January\n");break;
        case 2:printf("February\n");break;
        case 3:printf("March\n");break;
        case 4:printf("April\n");break;
        case 5:printf("May\n");break;
        case 6:printf("June\n");break;
        case 7:printf("July\n");break;
        case 8:printf("August\n");break;
        case 9:printf("September\n");break;
        case 10:printf("October\n");break;
        case 11:printf("November\n");break;
        case 12:printf("December\n");break;
        default:printf("***\n");
    }
    return 0;
}

程序运行结果:

技术分享

三,

实验要求:

给定不超过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,b,c,d,sum,l=0;
    printf("请输入小于6整数\n");
    scanf("%d",&a);
    if(a>6||a<1)
    {
        printf("输入错误\n");
    }
    else
    {
        for(b=a;b<=(a+3);b++)
        for(c=a;c<=(a+3);c++)
        for(d=a;d<=(a+3);d++)
        if(b!=c&&b!=d&&d!=c)
        {
            sum=b*100+c*10+d*1;
            printf("%d ",sum);
            l=l+1;
            if(l%6==0)
            {
                printf("\n");
            }
        }
    }
    return 0;    
} 

程序运行结果:

技术分享

四,

实验要求:猜拳游戏

代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    long a,b,p=0,y=0,s=0,chang=0;
    while(a!=0)
    {
        chang=chang+1;
        printf("******猜拳游戏******\n第%ld轮对决\n1是石头,2是剪刀,3是布\n",chang);
        scanf("%ld",&a);    
        if(a>3&&a<1)
        {
            printf("输入错误\n");
            continue;
        }
        else
        {
            b=rand()%100+1;
            if(b>=1&&b<=33)
            {
                if(a==1)
                {
                    printf("你出石头,电脑出石头,平局\n");
                    p=p+1;
                }
                if(a==2)
                {
                    printf("你出剪刀,电脑出石头,你输了\n");
                    s=s+1; 
                }
                if(a==3)
                {
                    printf("你出布,电脑出石头,你赢了\n");
                    y=y+1;
                }
            }
            else if(b>=34&&b<=66)
            {
                if(a==1)
                {
                    printf("你出石头,电脑出剪刀,你赢了\n");
                    y=y+1;
                }
                if(a==2)
                {
                    printf("你出剪刀,电脑出剪刀,平局\n");
                    p=p+1; 
                }
                if(a==3)
                {
                    printf("你出布,电脑出剪刀,你输了\n");
                    s=s+1;
                }
            }
            else
            {
                if(a==1)
                {
                    printf("你出石头,电脑出布,你输了\n");
                    s=s+1;
                }
                if(a==2)
                {
                    printf("你出剪刀,电脑出布,你赢了\n");
                    y=y+1; 
                }
                if(a==3)
                {
                    printf("你出布,电脑出布,平局\n");
                    p=p+1;
                }    
            }
        }
        printf("要进行下一轮游戏吗??0为退出游戏,其他继续游戏\n");
        scanf("%ld",&a);
    }
    printf("您已退出游戏,您共进行了%ld场游戏\n您赢了%ld场,电脑赢了%ld场,平局%ld场\n",chang,y,s,p);
    return 0;
}

程序运行结果:

技术分享

知识点总结:

1,利用int类型整数相除自动去除小数部分可以把多位数一位一位的拆开

2,可以用穷举法把相求的数求出

实验总结:

1,利用随机数让电脑自动出拳

 

第六次作业