作业,6

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

#include<stdio.h>
int main()
{
    int a,ge,shi,bai,qian,b;
    for(a=1000;a<=9999;a++)
    {
        qian=a/1000;
        bai=(a%1000)/100;
        shi=(a%100)/10;
        ge=a%10;
        b=qian+bai*10+shi*100+ge*1000;
        if(b==(a*4))
        {
            printf("%d",a);
        }
    }
    return 0;
 }

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

#include <stdio.h>
int main()
{
    int i=0,sum=0;
    printf("输入一个正数:");
    while(1)
    {
        scanf("%d",&i);
        if(i<=0)
        {
            printf("输入错误,重新输入\n");
            continue;
        }
        else
        {
            break;
        }
    } 

    while(i>0)
    {
        sum=sum+(i%10);
        i=i/10;
    }
    printf("%d   ",sum);
    if(sum==1)
    printf("january");
    else if(sum==2)
    printf("february");
    else if(sum==3)
    printf("march");
    else if(sum==4)
    printf("aoril");
    else if(sum==5)
    printf("may");
    else if(sum==6)
    printf("june");
    else if(sum==7)
    printf("july");
    else if(sum==8)
    printf("august");
    else if(sum==9)
    printf("september");
    else if(sum==10)
    printf("october");
    else if(sum==11)
    printf("november");
    else if(sum==12)
    printf("december");
    else
    printf("***");
    return 0;
}

 

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

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a,b,c,d,e,f,i=0;
    printf("输入一个一位整数,要求在1-6中间\n");
    while(1)
    {
        scanf("%d",&a);
        if(a>=7||a<=0)
        {
            printf("输入错误,重新输入\n");
            continue;
        }
        else
        system("CLS");
        break;
    }
    printf("输入的数字是%d\n",a); 
    for(b=a;b<(a+4);b++)
    for(c=a;c<(a+4);c++)
    for(d=a;d<(a+4);d++)
    {
        f=b*100+c*10+d; 
        if(b!=c&&c!=d&&b!=d)
        {
                    i++;
            printf("%d ",f);
            if(i%6==0)
            {
                printf("\n");
            }
        }
    }
    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根火柴棍必须全部用上

#include<stdio.h>
int main()
{
    int a,b,d,e,f,g;
    char c;
    for(a=0;a<=9;a++)
    for(d=0;d<=9;d++)
    {
        e=a+d;
        if(a==1)
        {
            b=2;
        }
        if(a==2||a==3||a==5)
        {
            b=5;
        }
        if(a==4)
        {
            b=4;
        }
        if(a==6||a==9||a==0)
        {
            b=6;
        }
        if(a==7)
        {
            b=3;
        }
        if(a==8)
        {
            b=7;
        }
        if(d==1)
        {
            f=2;
        }
        if(d==2||d==3||d==5)
        {
            f=5;
        }
        if(d==4)
        {
            f=4;
        }
        if(d==6||d==9||d==0)
        {
            f=6;
        }
        if(d==7)
        {
            f=3;
        }
        if(d==8)
        {
            f=7;
        }
        if(e==1)
        {
            g=2;
        }
        if(e==2||e==3||e==5||e==17)
        {
            g=5;
        }
        if(e==4||e==11)
        {
            g=4;
        }
        if(e==6||e==9||e==0||e==14)
        {
            g=6;
        }
        if(e==7)
        {
            g=3;
        }
        if(e==8||e==12||e==13||e==15)
        {
            g=7;
        }
        if(e==16)
        {
            g=8;
        }
        if(e==18)
        {
            g=9;
        }
        if(g+f+b==12)
        {
            printf("%d+%d=%d  ",a,d,e);
        }
    }
    return 0;
}
#include<stdio.h>
int main()
{
    int a,b,d,e,f,g;
    char c;
    for(a=0;a<=9;a++)
    for(d=0;d<=9;d++)
    {
        e=a+d;
        if(a==1)
        {
            b=2;
        }
        if(a==2||a==3||a==5)
        {
            b=5;
        }
        if(a==4)
        {
            b=4;
        }
        if(a==6||a==9||a==0)
        {
            b=6;
        }
        if(a==7)
        {
            b=3;
        }
        if(a==8)
        {
            b=7;
        }
        if(d==1)
        {
            f=2;
        }
        if(d==2||d==3||d==5)
        {
            f=5;
        }
        if(d==4)
        {
            f=4;
        }
        if(d==6||d==9||d==0)
        {
            f=6;
        }
        if(d==7)
        {
            f=3;
        }
        if(d==8)
        {
            f=7;
        }
        if(e==1)
        {
            g=2;
        }
        if(e==2||e==3||e==5||e==17)
        {
            g=5;
        }
        if(e==4||e==11)
        {
            g=4;
        }
        if(e==6||e==9||e==0||e==14)
        {
            g=6;
        }
        if(e==7)
        {
            g=3;
        }
        if(e==8||e==12||e==13||e==15)
        {
            g=7;
        }
        if(e==16)
        {
            g=8;
        }
        if(e==18)
        {
            g=9;
        }
        if(g+f+b==12)
        {
            printf("%d+%d=%d  ",a,d,e);
        }
    }
    return 0;
}

 

 小项目

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int B=0,year,month,e1,a1=0,b1,c1,d1,i1,j1,sum,sum1,sum2,a2,b2,c2,d2,e2=0,i2,ia,ib,ic,key,rem,answer,answer1,i4,h4,x4,z4,sum4=0,q4,b3=0,c3,d3,e3=0,f3,g3=0,h3=0;
    char sign,A,C,f2,j4,a3;
    float y4,w4;
    while(B!=1)
    {
        A='0';B=0;C='0';year=0;month=0;e1=0;a1=0,b1=0;c1=0;d1=0;i1=0;j1=0;sum=0;sum1=0;sum2=0;a2=0;b2=0;c2=0;d2=0;e2=0;f2='0';i2=0;ia=0;ib=0;ic=0;key=0;rem=0;answer=0;answer1=0;i4=0;j4=0;h4=0;x4=0;z4=0;sum4=0;q4=0;a3=0;b3=0;c3=0;d3=0;e3=0;f3=0;g3=0;h3=0;
        y4=0;w4=0;
        system("CLS");
    printf("\n*******************************************************\n");
    printf("*******************************************************\n");
    printf("***                  综合小项目练习                 ***\n");
    printf("***                 ================                ***\n");
    printf("***                                                 ***\n");
    printf("***                 1,万年历                        ***\n");
    printf("***                 2,猜数字游戏                    ***\n");
    printf("***                 3,自动出题器                    ***\n");
    printf("***                 4,石头剪刀布游戏                ***\n");
    printf("***                 5,退出                          ***\n");
    printf("***                                                 ***\n");
    printf("*******************************************************\n");
    printf("*******************************************************\n");
    printf("输入功能代码(1--5)\n");
    scanf(" %c",&A);
    switch(A)
    {
    case '1':
            system("CLS");
        {
            while(a1!=1)
    {
        printf("请输入年份月份和日期,用空格隔开\n");
        scanf("%d%d",&year,&month);
        if(month>12||month<1)
        {
            printf("输入错误,请重新输入\n");
            continue;
        }
        else
        {
            a1=1;
        }
    }
    system("CLS");
    for(i1=1900,sum1=0;i1<=year-1;i1++)
    {
        if((i1%4==0&&i1%100!=0)||(i1%400==0))
        {
            sum1=sum1+366;
        }
        else
        {
            sum1=sum1+365;
        }
    }
        for(j1=1,sum2=0;j1<=month-1;j1++)
        {
            if(j1==1||j1==3||j1==5||j1==7||j1==8||j1==10||j1==12)
            {
                sum2=sum2+31;
            }
            else if(j1==4||j1==6||j1==9||j1==11)
            {
                sum2=sum2+30;
            }
            else
            {
                if((i1%4==0&&i1%100!=0)||(i1%400==0))
                {
                    sum2=sum2+29;
                }
                else
                {
                    sum2=sum2+28;
                }
            }
        }
    sum=sum1+sum2+1;
    c1=sum%7;                    /*本月第一天是周几*/ 
    printf("%d年%d月\n",year,month);
    printf("星期日   星期一   星期二   星期三   星期四   星期五   星期六\n");
    if(month==4||month==6||month==9||month==11)      /*小月份*/ 
    {
        e1=30;
    }
    else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)     /*大月份*/ 
    {
        e1=31;
    }
    else if(((year%4==0&&year%100!=0)||(year%400==0))&&month==2)     /*闰年二月份*/ 
    {
        e1=29;
    }
    else      /*平年二月份*/ 
    {
        e1=28;
    }
    for(d1=c1;d1>0;d1--)
            {
                printf("         ");
            }
    for(b1=1;b1<=e1;b1++)
        {
            printf(" %-2d      ",b1);
            if((b1+c1)%7==0)
            {
                printf("\n");                
            }
        }
        printf("\n请输入任意字符进行清屏");
        scanf(" %c",&C);
        break;
        }
    case '2':
            system("CLS");
            while(f2!='1')
    {
        srand(time(NULL));
        a2=rand()%100+1;
        printf("猜一个数字在1-100之间\n",a2);
        for(i2=1;i2<=10;i2++)
        {
            scanf("%d",&b2);
                if(b2>a2)
                {
                    printf("输入大了,重新输入\n");
                    continue; 
                }
                if(b2<a2)
                {
                    printf("输入小了,重新输入\n");
                    continue; 
                }
                if(a2==b2)
                {
                    printf("你猜对了");
                    e2=1;
                    break; 
                }
        }
        if(e2==1)
        {
            printf("你一共猜了%d次\n",i2);
        }
        else
        {
            printf("10次你都没有猜对,答案是%d\n",a2);
        }
        printf("是否继续下一轮?回复1退出,回复其他继续\n");
        scanf(" %c",&f2);
    }
        printf("\n请输入任意字符进行清屏");
        scanf(" %c",&C);
        break;
    case '3':
            system("CLS");
        {
            while(j4!='1')
    {
        for(i4=1,x4=0;i4<=5;i4++)
        {
            srand(time(NULL));
            ia=rand()%100+1;
            ib=rand()%100+1;
            ic=rand()%100+1;
            if(ic>=1&&ic<=25)
            {
                sign='+'; 
                key=ib+ia;
            }
            if(ic>=26&&ic<=50)
            {
                sign='-';
                key=ia-ib;
            }
            if(ic>=51&&ic<=75)
            {
                sign='*';
                key=ia*ib;
            }
            if(ic>=76&&ic<=100)
            {
                sign='/';
                key=ia/ib;
                rem=ia%ib;
            }
            printf("%d%c%d=\n",ia,sign,ib);
            if(sign=='+'||sign=='-'||sign=='*'||rem==0)
            {
                printf("请输入答案\n");
                scanf("%d",&answer);
                if(key==answer)
                {
                    printf("正确\n");
                    x4++;
                }
                else
                {
                    printf("错误,答案为%d\n",key);
                }
            }
            else
            {
                printf("请输入答案,商与余数用空格分开\n");
                scanf("%d%d",&answer,&answer1);
                if(answer==key&&answer1==rem)
                {
                    printf("正确\n");
                    x4++;
                }
                else
                {
                    printf("错误\n");
                }
            }
        }
        y4=x4/0.05;
        printf("正确率为%.2f\%%,答对了%d题,继续吗?输入1退出,输入其他继续\n",y4,x4);
        q4++;
        sum4=sum4+x4;
        scanf(" %c",&j4);
    }
    w4=(float)(sum4)/(0.05*q4);
    printf("答题结束,正确率为%.2f\%%,答对了%d题\n",w4,sum4);
    printf("\n请输入任意字符进行清屏");
        scanf("%d",&C);
        break;
        }
    case '4':
            system("CLS");
        {
            while(a3!='1')
    {
        b3++;
        printf("******猜拳游戏******\n");
        printf("第%d轮对决\n",b3);
        printf("该你出拳了,请选择:1石头 2剪刀 3布\n",b3);
        scanf("%d",&d3);
        if(d3>3||d3<1)
        {
            printf("输入错误,请重新输入\n");
            continue; 
        }
        else
        {
            c3=rand()%100+1;
            if(d3==1)
            {
                if(c3>=1&&c3<=33)
                {
                    printf("电脑出石头    你出石头\n");
                    printf("结果:平局,加油!\n"); 
                    e3++;
                }
                else if(c3>=34&&c3<=66)
                {
                    printf("电脑出剪刀    你出石头\n");
                    printf("结果:运气真好,你赢了!\n");
                    f3++;
                }
                else
                {
                    printf("电脑出布    你出石头\n");
                    printf("结果:你输了,再来一次吧!\n"); 
                    g3++;
                }
            }
            if(d3==2)
            {
                if(c3>=1&&c3<=33)
                {
                    printf("电脑出石头    你出剪刀\n");
                    printf("结果:你输了,再来一次吧!\n");
                    g3++;
                }
                else if(c3>=34&&c3<=66)
                {
                    printf("电脑出剪刀    你出剪刀\n");
                    printf("结果:平局,加油!\n");
                    e3++;
                }
                else
                {
                    printf("电脑出布    你出剪刀\n");
                    printf("结果:运气真好,你赢了!\n");
                    f3++;
                }
            }
            if(d3==3)
            {
                if(c3>=1&&c3<=33)
                {
                    printf("电脑出石头    你出布\n");
                    printf("结果:运气真好,你赢了!\n");
                    f3++;
                }
                else if(c3>=34&&c3<=66)
                {
                    printf("电脑出剪刀    你出布\n");
                    printf("结果:你输了,再来一次吧!\n");
                    g3++;
                }
                else
                {
                    printf("电脑出布    你出布\n");
                    printf("结果:平局,加油!\n"); 
                    e3++;
                }
            }
            
        }
        printf("继续下一轮游戏吗?回复1退出游戏,回复其他继续游戏\n");
        scanf(" %c",&a3);
    }
    printf("对战情况:\n");
    printf("对战次数%d  平局次数:%d   电脑得分:%d   你得分:%d\n",b3,e3,g3,f3);
    if(f3>g3)
    {
        printf("你赢了"); 
    }
    if(f3<g3)
    {
        printf("你输了");
    }
    if(f3==g3)
    {
        printf("平局");
    }
        printf("\n请输入任意字符进行清屏");
        scanf("%d",&C);
        break;
        }
        case '5':
        system("CLS");
    {
        B=1;
        break;
    }
        default:
            {
                printf("输入错误,重新输入");
            }
        }
}
}

 

 没啥总结的。

 

 

 

posted @ 2016-11-08 00:18  计科1601史增宇  阅读(217)  评论(1编辑  收藏  举报