码迷,mamicode.com
首页 > 其他好文 > 详细

第六次作业

时间:2016-11-11 23:17:54      阅读:693      评论:0      收藏:0      [点我收藏+]

标签:定义   turn   商品   png   nbsp   不同   个人   sep   正整数   

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

#include<stdio.h>
int main()
{
    int a,b,c,d,i;
    float h,g;
    for(i=1000;i<=9999;i++)
    {
        a=i%10;
        b=i/10%10;
        c=i/100%10;
        d=i/1000;
        g=a*1000+b*100+c*10+d;
        h=i/g;
        if(h==4)
        {
            printf("%d\n",i);
        }
    }
    return 0;
} 

技术分享

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

  样例: 输入123,    输出 6     June

            输入12345,输出 15   ***

#include <stdio.h>
int main()
{
    int x,sum=0,i=1,num=0;
    printf("请输入一个数:\n");
    scanf("%d",&x);
    if(x>10)
    {
        while(i>0)
        {
            i=x%10;
            sum=sum+i;
            x=x/10;
            {
                if(x<10)
                {
                    sum=sum+x;
                    break;
                }
            }
        }
        printf("%d\n",sum);
        switch(sum)
        {
            case 1: 
                sum=1;
                printf("January");
                break;
            case 2: 
                sum=2;
                printf("February");
                break;
            case 3: 
                sum=3;
                printf("March");
                break;
            case 4: 
                sum=4;
                printf("April");
                break;
            case 5: 
                sum=5;
                printf("May");
                break;
            case 6: 
                sum=6;
                printf("June");
                break;
            case 7: 
                sum=7;
                printf("July");
                break;
            case 8: 
                sum=8;
                printf("August");
                break;
            case 9: 
                sum=9;
                printf("September");
                break;
            case 10: 
                sum=10;
                printf("October");
                break;
            case 11: 
                sum=11;
                printf("November");
                break;
            case 12: 
                sum=12;
                printf("December");
                break;
        }
    }
    else if(x<-10)
    {
        while(i>0)
        {
            i=x%(-10);
            i=i*(-1);
            sum=sum+i;
            x=x/(-10);
            if(x>0)
            {
                sum=sum+x;
                break;
            }
        }
        printf("%d\n",sum);
        switch(sum)
        {
            case 1: 
                sum=1;
                printf("January");
                break;
            case 2: 
                sum=2;
                printf("February");
                break;
            case 3: 
                sum=3;
                printf("March");
                break;
            case 4: 
                sum=4;
                printf("April");
                break;
            case 5: 
                sum=5;
                printf("May");
                break;
            case 6: 
                sum=6;
                printf("June");
                break;
            case 7: 
                sum=7;
                printf("July");
                break;
            case 8: 
                sum=8;
                printf("August");
                break;
            case 9: 
                sum=9;
                printf("September");
                break;
            case 10: 
                sum=10;
                printf("October");
                break;
            case 11: 
                sum=11;
                printf("November");
                break;
            case 12: 
                sum=12;
                printf("December");
                break;
        }
    }
    else if(x==0)
    {
        printf("num=0"); 
    }
    else
    {
        printf("intput error!!");
    }
    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

  此题可在pta网站注册提交测试。https://pta.patest.cn/pta/test/14/exam/4/question/796

#include <stdio.h>
int main()
{
    int A,B,i,g,h,number; 
    printf("请输入一个数:\n");
    scanf("%d",&A);
    for(i=A;i<=(A+3);i++)
    {
        for(g=A;g<=(A+3);g++)
        {
            for(h=A;h<=(A+3);h++)
            {
                if(i!=g&&i!=h&&g!=h) 
                {
                    number=i*100+g*10+h;
                    printf("%d ",number);
                    B++;
                    if(B%6==0)
                    {
                        printf("\n");
                    }
                }
                else
                {
                    continue;
                }
            }
        }
    }
    return 0;
}

技术分享

4. 万年历、看商品猜价格、自动出题器、猜拳游戏。(完成个人选定的题目)

#include <stdio.h>
int main()
{
    int DE=1,year,year1,sum,g,h,l,month,day=0,T,run,K,f=0;
    printf("请输入一个年份和月份:\n");
    scanf("%d%d",&year,&month);
    while(DE=1)
    {
        if(year<1900||month<1||month>12)
        {
            printf("input  error!!请重新输入:\n");
            DE=1;
        }
        else
        {
            break;
        }
        scanf("%d%d",&year,&month);
    }
    system("CLS");
    run=(year-1904)/4;
    day=365*(year-1900-1)+run;                                                                   
    K=month-1;  
    printf("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日\n");                                      
    if(year%4==0&&year%100!=0||year%400==0)
    {
        switch(K)
        {
            case 0:
                sum=0;
                g=31;
                break;
            case 1:
                sum=31;
                g=29; 
                break;
            case 2:
                sum=60;
                g=31;
                break;
            case 3:
                sum=91;
                g=30;
                break;
            case 4:
                sum=121;
                g=31;
                break;
            case 5:
                sum=152;
                g=30;
                break;
            case 6:
                sum=182;
                g=31;
                break;
            case 7:
                sum=213;
                g=31;
                break;
            case 8:
                sum=244;
                g=30;
                break;
            case 9:
                sum=274;
                g=31;
                break;
            case 10:
                sum=305;
                g=30;
                break;
            case 11:
                sum=335;
                g=31;
                break;
        }
        day=day+sum;
        T=day%7;
        if(T==0)
        {
            printf(" ");
            for(l=1;l<=g;l++)
            {
                printf("\t%d",l);
                f++;
                if((f+T)%7==0)
                {
                    printf("\n");
                }
            }
        }
        else
        {
            for(h=1,l=1;h<=T,l<=g;h++,l++)
            {
                printf("  \t  ");
                printf("\t %d",l);
                f++;
                if((f+T)%7==0)
                {
                    printf("\n");
                }
            }
        }
    }
    else
    {
        switch(K)
        {
            case 0:
                sum=0;
                g=31;
                break;
            case 1:
                sum=31;
                g=28; 
                break;
            case 2:
                sum=59;
                g=31;
                break;
            case 3:
                sum=90;
                g=30;
                break;
            case 4:
                sum=120;
                g=31;
                break;
            case 5:
                sum=151;
                g=30;
                break;
            case 6:
                sum=181;
                g=31;
                break;
            case 7:
                sum=212;
                g=31;
                break;
            case 8:
                sum=243;
                g=30;
                break;
            case 9:
                sum=273;
                g=31;
                break;
            case 10:
                sum=304;
                g=30;
                break;
            case 11:
                sum=334;
                g=31;
                break;
        }
        day=day+sum;
        T=day%7;
        if(T==0)
        {
            printf("  ");
            f++;
            for(l=1;l<=g;l++)
            {
                printf("%d\t",l);
                f++;
                if((f+T)%7==0)
                {
                    printf("\n");
                }
            }
        }
        else
        {
            for(h=1,l=1;h<=T,l<=g;h++,l++)
            {
                printf("  ");
                printf("\t%d",l);
                f++;
                if((f+T)%7==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根火柴棍必须全部用上

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

              技术分享

#include <stdio.h>
int main()
{
    int x1,x2,x3,club1,club2,club3,sum,num;
    for(x1=0;x1<=9;x1++)
    {
        switch(x1)
        {
            case 0:
                club1=6;
                break;
            case 1:
                club1=2;
                break;
            case 2:
                club1=5;
                break;
            case 3:
                club1=5;
                break;
            case 4:
                club1=4;
                break;
            case 5:
                   club1=5;
                break;
            case 6:
                club1=6;
                break;
            case 7:
                   club1=3;
                   break;
            case 8:
                   club1=7;
                   break;
            case 9:
                   club1=6;
                   break;
                    
                }
        for(x2=0;x2<=9;x2++)
        {
            switch(x2)
                {
                    case 0:
                        club2=6;
                        break;
                    case 1:
                        club2=2;
                        break;
                    case 2:
                        club2=5;
                        break;
                    case 3:
                        club2=5;
                        break;
                    case 4:
                        club2=4;
                        break;
                    case 5:
                        club2=5;
                        break;
                    case 6:
                        club2=6;
                        break;
                    case 7:
                        club2=3;
                        break;
                    case 8:
                        club2=7;
                        break;
                    case 9:
                        club2=6;
                        break;
                    
                }
            for(x3=0;x3<=9;x3++)
            {
                switch(x3)
                {
                    case 0:
                        club3=6;
                        break;
                    case 1:
                        club3=2;
                        break;
                    case 2:
                        club3=5;
                        break;
                    case 3:
                        club3=5;
                        break;
                    case 4:
                        club3=4;
                        break;
                    case 5:
                        club3=5;
                        break;
                    case 6:
                        club3=6;
                        break;
                    case 7:
                        club3=3;
                        break;
                    case 8:
                        club3=7;
                        break;
                    case 9:
                        club3=6;
                        break;
                    
                }
                sum=club1+club2+club3;
                if(sum==12&&x1+x2==x3)
                {
                    num++;
                    printf("%d+%d=%d\n",x1,x2,x3);
                }
            }
        }
    }
    printf("%d\n",num);
    return 0;
}

技术分享

 

顺序结构:

1:在程序中较为常见,思路简单。

2:内容格式简单明了,但是对于重复输出类的程序就需要多次进行,远不如循环结构。

循环结构:

1:和顺序结构相比,处理多次输入的程序有神效。

2:循环结构固定,但是做题思路不定,导致一题N解。

3:循环结构自身也有一定的区别,for  while    do...while  ,注意使用时机。个人不喜欢用do...while。

选择结构:

1:条件判断if 用于可语句判断,而switch仅能用于判断一个值。

2:switch在循环里一般是被套用,而if语句则可以套用循环。

 

 

实验总结:

1:可以利用整形除整形得数为整型的特点来进行一些数据的处理。

2:数据类型的定义要注意时机。

3:一个汉字的数学长度等于两个小写字母的数学长度。

4:\t  固定输出四个空格      system(‘CLS‘)清屏操作

 

1:遇到难题别怂,顶着头皮做就是了....

 

第六次作业

标签:定义   turn   商品   png   nbsp   不同   个人   sep   正整数   

原文地址:http://www.cnblogs.com/yanchao980817/p/6055657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!