第六次作业

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

#include <stdio.h>
int main ()
{
    int x,a,b,c,d,y;
    for(x=1000;x<10000;x++)
    {
        a=x/1000;
        b=x/100%10;
        c=x/10%10;
        d=x%10;
        y=a+b*10+c*100+d*1000;
        if(a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d&&x==(y*4))
        {
            printf("这两个数分别是%d,%d",x,y);
        }
    }
    return 0;
}

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

  样例: 输入123,    输出 6     June

            输入12345,输出 15   ***

#include<stdio.h>
int main()
{
    int n;
    int sum=0;
    printf("请输入一个数字:\n");
    scanf("%d",&n);    
    while(n)
    {
        sum+=n%10;
        n=n/10;
    }
    if(sum>=1&&sum<=12)
    {
        if(sum==1)
            printf("January\n");
        else if(sum==2)
            printf("February\n");
        else if(sum==3)
            printf("March\n");
        else if(sum==4)
            printf("April\n");
        else if(sum==5)
            printf("May\n");
        else if(sum==6)
            printf("June\n");
        else if(sum==7)
            printf("July\n");
        else if(sum==8)
            printf("August\n");
        else if(sum==9)
            printf("September\n");
        else if(sum==10)
            printf("October\n");
        else if(sum==11)
            printf("November\n");
        else 
            printf("December\n");
    }
    else
        printf("***\n");
    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 n,i,j,k;
    printf("请输入一个不超过6的正整数:\n");
    scanf("%d",&n);
    printf("\n");
    for(i=n;i<n+4;i++)
    {
        for(j=n;j<n+4;j++)
        {
            for(k=n;k<n+4;k++)
                if(j!=i&&k!=j&&i!=k)
                    printf("%d ",i*100+j*10+k);
        }
        printf("\n");
    }
    return 0;
}

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

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int i,a,b,c,d,e;
    char x;
    srand (time(NULL));
    do
    {
        a=(rand()%100)+1;
        for(c=0;c<11;c++)
        {
            printf("请输入猜想价格");
            scanf ("%d",&i);
            if(a>i)
            {
                printf("太小了,请重新输入");
            }
            else if(a<i)
            {
                printf("太大了,请重新输入");
            }
            else if(a==i)
            {
                printf("恭喜你,猜对了");
                break;
            }
        }
        if (c>10)
        {
            printf("10次都没有猜对,这个数是%d",a);
        }
            printf("一共猜了%d次",c);
            printf("继续下一轮游戏吗?y or n");
            scanf(" %c",&x);
            if (x=='y'||x=='Y')
            {
                printf("继续下一轮游戏");
            }
            else 
            {
                printf("游戏结束");
            }
    }while (x=='y'||x=='Y');
    return 0;
}

知识点总结:熟练运用 for while do...while 三种循环

                   break语句结束整个循环过程

                    随机函数rand(),利用函数time()获得系统时间

  实验总结 :符号注意中英文的转换

                   记住赋值

                  无限循环中,利用循环体中加break语句跳出循环

                  = 是赋值 ==是等于

posted on 2016-11-13 21:38  张培蕾  阅读(148)  评论(3编辑  收藏  举报

导航