• 第六次作业


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

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

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

      样例: 输入123,    输出 6     June

                输入12345,输出 15   ***

    #include<stdio.h>
    int main()
    {
        int x=0,y=0;
        char i;
        do
        {
            x+=y;
            scanf("%c",&i);
            y=i-48;
        }while(i!='
    ');
        printf("%d
    ",x);
        switch(x)
        {
            case 1 :printf("Jaunary");break;
            case 2:printf("February");break;
            case 3 :printf("March");break;
            case 4 :printf("April");break;
            case 5 :printf("May");break;
            case 6 :printf("June");break;
            case 7 :printf("July");break;
            case 8 :printf("August");break;
            case 9 :printf("September");break;
            case 10 :printf("October");break;
            case 11 :printf("November");break;
            case 12 :printf("December");break;
            default:printf("***");
        }
    }

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

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

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

    #include<stdio.h>
    int main()
    {
        
        int x,y,z,i,a,b,c,m,n=0;
        scanf("%d",&x);
        if(x>6||x<=0)
        {
            printf("输入错误");
        }
        else
        {
            a=x+1,b=x+2,c=x+3;
            for(i=x;i<=c;i++)
            {
                for(y=x;y<=c;y++)
                {
                    for(z=x;z<=c;z++)
                    {
                        m=i*100+y*10+z;
                        if(i!=y&&i!=z&&y!=z)
                        {
                        printf("%d  ",m);
                        n++;
                        if(n%6==0)
                        printf("
    ");
                        }
                    }
                }
            }
        }
    }

    4,四合一

    #include<stdio.h>
    #include<time.h>
    #include<stdlib.h>
    int main()
    {
        int year,year1,month,sum,sum1,sum2,a,b,c,d,n,e,i,f,h,answer,result,answer1,result1,zong;
        float m;
        char Y,x,q,o,j,l;
        while(1)
        {
        printf("
    
    
    	   		***************
    			*1,万年历     *
    	   		*2,猜价格     *
    	   		*3,自动出题器 *
    	   		*4,猜拳       *
    		   	***************
    ");
        printf("请输入选择的题号:");
        scanf(" %c",&o);
        if(o=='1')
        {
            system("cls");
             printf("万年历
    ");
                printf("请输入年份个月份,用空格分开。
    ");
                scanf("%d%d",&year,&month);
                while(year<1900||month<1||month>12)
                {
                    printf("数据错误,请重新输入。
    ");
                    scanf("%d%d",&year,&month);
                }
                sum1=0;
                sum2=0;
                year1=year;
                for(year1=year1-1;year1>=1900;year1--)
                {
                    if(year1%4==0&&year1%100!=0||year1%400==0)
                    {
                        sum1=sum1+366;
                    }
                    else
                    {
                        sum1=sum1+365;
                    }
                }
                
                for(i=1;i<month;i++)
                {
                    if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
                    {
                        sum2=sum2+31;
                    }
                    else if(i==4||i==6||i==9||i==11)
                    {
                        sum2=sum2+30;
                    }
                    else if(i==2)
                    {
                        if(year%4==0&&year%100!=0||year%400==0)
                        {
                            sum2=sum2+29;
                        }
                        else
                        {
                            sum2=sum2+28;
                        }
                    }
                }       
                sum=sum1+sum2;
                system("cls");
                printf("%d年%d月
    ",year,month);
                printf("星期日  星期一  星期二  星期三  星期四  星期五  星期六
    ");
                switch(sum%7)
                    {
                   case 0:printf("	");h=2;break;
                        case 1:printf("		");h=3;break;
                        case 2:printf("			");h=4;break;
                        case 3:printf("				");h=5;break;
                        case 4:printf("					");h=6;break;
                        case 5:printf("						");h=7;break;
                        case 6:h=1;break;
                    } 
                if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
                {
                    zong=31;
                }        
                else if(month==4||month==6||month==9||month==11)
                {
                    zong=30;
                }
                else if(month==2)    
                {
                    if(year%4==0&&year%100!=0||year%400==0)
                    {
                        zong=29;
                    }
                    else 
                    {
                        zong=28;
                    }
                }
                for(n=1;n<=zong;n++,h++)
                {
                    printf("  %2d    ",n);
                    if(h%7==0)
                    {
                    printf("
    ");        
                    }
                }
                printf("
    ");    
            }
            else if(o=='2')
            {
                system("cls");
                printf("猜价格
    ");
                a=10;
                while(1) 
                {
                    srand(time(NULL));
                    result=rand()%100+1;
                    printf("请输入你猜的价格,范围是1~100,你有10次机会。
    ");
                     for(i=1,a=9;i<=10;i++,a--)
                     {
                        scanf("%d",&answer);
                        while(answer<=0||answer>100)
                        {
                            printf("输入错误。
    ");
                            scanf("%d",&answer);
                        }
                        if(answer==result)
                        {
                            printf("恭喜你猜对了!
    ");
                            break;
                        }
                        else if(answer>result)
                        {
                            printf("很遗憾,你猜高了。
    ",a);    
                        }
                        else if(answer<result)
                        {
                            printf("很遗憾,你猜低了。
    ",a);    
                        } 
                     }
                     if(answer!=result)
                     {
                     printf("很遗憾,正确价格为%d。
    ",result);
                      }
                     printf("继续下一轮游戏吗?Y()y)orN(n)。
    ");
                     fflush(stdout);
                     scanf(" %c",&l);
                if(l=='y'||l=='Y')
                {
                    continue;
                   }
                   else   
                printf("谢谢参与。
    ");
                break;
                }    
        }
        else if(o=='3')
        {
            system("cls");
             printf("自动出题器
    ");
                c=0,d=0,n=0;
                printf("本程序将随机出五道四则运算题,范围为1~100,如果是除法运算则求出商和余数。
    ");
                while(1)
                {
                    i=1;
                    d=0;
                    while(i<=5)
                    {
                        srand(time(NULL));
                        f=rand()%4+1;
                        a=rand()%100+1;
                        b=rand()%100+1;
                        switch(f)
                        {
                            case 1:printf("%d+%d=?",a,b);
                                    result=a+b;
                                    printf("本题为加法运算,请输入你的答案。
    ");
                                    scanf("%d",&answer);
                                    if(answer==result) 
                                    {
                                        printf("你很棒,作对了!
    ");
                                        c++;
                                        d++;
                                    }
                                    else
                                    {
                                        printf("很遗憾,%d+%d=%d。
    ",a,b,result);
                                    }
                                    break;    
                            case 2:printf("%d-%d=?",a,b);
                                    result=a-b;
                                    printf("本题为减法运算,请输入你的答案。
    ");
                                    scanf("%d",&answer);
                                    if(answer==result) 
                                    {
                                        printf("你很棒,作对了!
    ");
                                        c++;
                                        d++;
                                    }
                                    else
                                    {
                                        printf("很遗憾,%d-%d=%d。
    ",a,b,result);
                                    }    
                                    break;    
                            case 3:printf("%d*%d=?",a,b);
                                    result=a*b;    
                                    printf("本题为乘法运算,请输入你的答案。
    ");
                                    scanf("%d",&answer);
                                    if(answer==result) 
                                    {
                                        printf("你很棒,作对了!
    ");
                                        c++;
                                        d++;
                                    }
                                    else
                                    {
                                        printf("很遗憾,%d*%d=%d。
    ",a,b,result);
                                    }
                                    break;
                            case 4:printf("%d/%d=?",a,b);
                                    result=a/b;
                                    result1=a%b;
                                    printf("本题为除法运算,请分别出入商和余数,用空格分隔开。
    ");
                                    scanf("%d%d",&answer,&answer1);
                                    if(answer==result&&answer1==result1) 
                                    {
                                        printf("你很棒,作对了!
    ");
                                        c++;
                                        d++;
                                    }
                                    else
                                    {
                                        printf("很遗憾,%d/%d=%d余%d。
    ",a,b,result,result1);
                                    }
                                    break;                  
                        }    
                        i++;
                        n++;    
                    }
                    m=c/5.0;
                    printf("本次你一共做对了%d道题,正确率为%.2f%%。
    ",d,m*100);
                    printf("继续吗?Y(y)orN(n)。
    ");
                    fflush(stdout);
                    scanf(" %c",&l);
                    if(l=='y'||l=='Y')
                    {
                        continue; 
                    }
                    else
                    break;
                }
                m=(float)c/n;
                printf("你一共做对了%d道题,正确率为%.2f%%。
    ",c,m*100);
        }
        else if(o=='4')
        {
            system("cls");
            printf("猜拳游戏
    ");
                n=1,d=0,e=0,f=0;
                do
                {
                    printf("第%d轮对决。
    ",n);
                    printf("该你出拳了,请选择:1.石头 2.剪刀 3.布
    ");
                    scanf("%d",&a);
                    while(a<1||a>3)
                    {
                        printf("输入错误,请重新输入。
    ");
                        scanf("%d",&a);
                    }
                    switch(a)
                    {
                        case 1:printf("你出石头,"); break;
                        case 2:printf("你出剪子,"); break;
                        case 3:printf("你出布,"); break;                
                    }
                    srand(time(NULL));
                    b=rand()%3+1;
                    switch(b)
                    {
                        case 1:printf("电脑出石头。
    "); break;
                        case 2:printf("电脑出剪子。
    "); break;
                        case 3:printf("电脑出布。
    "); break;                
                    }
                    if(a==b) 
                    {
                        printf("平局!
    ");
                        d++;
                    }
                    else if(a==1&&b==2||a==2&&b==3||a==3&&b==1)
                    {
                        printf("你赢了!
    ");
                        e++;
                    }
                    else 
                    {
                        printf("你输了。
    ");
                        f++;
                    }
                    n++;
                    printf("继续下一轮游戏吗?Y(y)orN(n)。
    ");
                    scanf(" %c",&q);
                }while(q=='Y'||q=='y');
                printf("对决战况:
    ");
                printf("对决次数:%d  平局:%d  你得分:%d  电脑得分:%d  
    ",n-1,d,e,f);
                if(e==f)
                {
                    printf("最终结果:平局
    "); 
                }
                else if(e>f)
                {
                    printf("最终结果:你赢!
    "); 
                }
                else
                {
                    printf("最终结果:电脑赢!
    "); 
                }
        }
        else
        {
            printf("输入错误
    ");
        }
        printf("是否继续?(Y/N)");
        scanf(" %c",&j);
        if(j=='y'||j=='Y')
        {
            system("cls");
            continue; 
        }
            system("cls");
        break;
    }
    }

    现在才想起来来不及写总结了......

  • 相关阅读:
    Matlab n阶矩阵行、列互换
    IfcGeographicElement
    集合系列 Set(七):LinkedHashSet
    集合系列 Set(六):HashSet
    集合系列 List(五):Stack
    集合系列 List(四):LinkedList
    集合系列 List(三):Vector
    集合系列 List(二):ArrayList
    集合系列(一):集合框架概述
    集合系列开篇:为什么要学集合?
  • 原文地址:https://www.cnblogs.com/wxc123/p/6060288.html
Copyright © 2020-2023  润新知