zoukankan      html  css  js  c++  java
  • 第六次作业

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

    #include<stdio.h>
    int main()
    {
        int a,b,c,d,old,new;
        for(old=1000;old<=9999;old=old+1)
        {
            a=old/1000;
            b=old/100%10;
            c=old/10%10;
            d=old%10;
            if(a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d)
            {
                new=d*1000+c*100+b*10+a;
                if(new==old/4)
                {
                    printf("这个四位数是%d。",old);
                }
            }
        }
        return 0;    
    } 

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

      样例: 输入123,    输出 6     June

                输入12345,输出 15   ***

    #include<stdio.h>
    int main()
    {
        int x,sum;
        sum=0;
        scanf("%d",&x);
        while(x)
        {
            sum=sum+x%10;
            x=x/10;
        }
        if(sum<=0)
        {
            printf("输入错误
    ");
        }
        else if(sum==1)
        {
            printf("January");
        }
        else if(sum==2)
        {
            printf("February");
        }
        else if(sum==3)
        {
            printf("March");
        }
        else if(sum==4)
        {
            printf("April");
        }
        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 if(sum>12)
        {
            printf("***");
        }
        return 0;
    }

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

    4. 看商品猜价格

    #include<stdlib.h>
    #include<stdio.h>
    #include<time.h> 
    int main()
    {
        int a,x,i;
        char b;
        srand(time(NULL)) ;
        while(1)
        {
            printf("猜一个数,在1~100之间;
    ");
            x=rand()%100+1;
            for(i=1;i<=10;i=i+1)
            {
                printf("请输入
    ");
                scanf("%d",&a);
                if(a>x)
                {
                    printf("太大了,重新输入!
    ");
                }
                else if(a<x)
                {
                    printf("太小了,重新输入!
    ");
                }
                else if(a=x)
                {
                    printf("你猜对了,
    一共猜了%d次
    ",i);
                    break;
                }
                if(i==10&&a!=x)
                {
                    printf("10次都没有猜对,正确答案是%d
    ",x);
                }
            }
            printf("继续下一轮游戏吗?Y(y)orN(n)
    ");
            fflush(stdin);
            scanf("%c",&b);
            if(b=='n'||b=='N')
            {
                break;
            }
        }
        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根火柴棍必须全部用上

      用火柴棍拼数字0-9的拼法如图所示: 

                  

    #include<stdio.h>
    int main()
    {
        int a,b,c,x,y,z;
        for(a=0;a<=9;a=a+1)
        for(b=0;b<=9;b=b+1)
        for(c=0;c<=9;c=c+1)
        {
            switch(a)
            {
                case 0:x=6;break;
                case 1:x=2;break;
                case 2:x=5;break;
                case 3:x=5;break;
                case 4:x=4;break;
                case 5:x=5;break;
                case 6:x=6;break;
                case 7:x=3;break;
                case 8:x=7;break;
                case 9:x=6;break;
            }
            switch(b)
            {
                case 0:y=6;break;
                case 1:y=2;break;
                case 2:y=5;break;
                case 3:y=5;break;
                case 4:y=4;break;
                case 5:y=5;break;
                case 6:y=6;break;
                case 7:y=3;break;
                case 8:y=7;break;
                case 9:y=6;break;
            }
            switch(c)
            {
                case 0:z=6;break;
                case 1:z=2;break;
                case 2:z=5;break;
                case 3:z=5;break;
                case 4:z=4;break;
                case 5:z=5;break;
                case 6:z=6;break;
                case 7:z=3;break;
                case 8:z=7;break;
                case 9:z=6;break;
            }
            if(a+b==c&&x+y+z==12)
            {
                printf("%d+%d=%d  ",a,b,c); 
            }
        }
        return 0;    
    }

    二、知识点总结

    1.清除缓存区fflush(stdin)。
    2.利用循环进行整数的分解,计算整数的位数以及如何利用循环将一个数逆序输出。
    3.合理利用穷举法计算。
    4.循环嵌套时要注意限制条件。
    5.分情况合理运用if与switch。

      三、实验总结


    1.等于用“==”符号,不是“=”。
    2.注意考虑数据的合法性。
    3.使用穷举法时,要仔细检查能否简化程序。
    4.注意 的合理利用。

  • 相关阅读:
    博客园是否提供trackback的rss
    firefox的检查gmail的插件Next Generation Extensions!
    windirstat这个软件可以图形化统计磁盘占用,实用!
    笔记本鼠标乱跑!不知何故!
    转贴:说说我的Firefox Extensions
    从hotmail到gmail
    求助:我的网站上出现如下错误,何故?
    关于javscript自动测试的难题!
    手机跳水!
    中国队新主帅朱广沪印象
  • 原文地址:https://www.cnblogs.com/buyuhang/p/6058546.html
Copyright © 2011-2022 走看看