代码改变世界

第六次作业

2016-11-13 13:20  魏振川  阅读(148)  评论(1编辑  收藏  举报

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

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

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

  样例: 输入123,    输出 6     June

            输入12345,输出 15   ***

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

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

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

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

#include<stdio.h>
int main()
{
    int a,b,c,d,i=0;
    printf("给定一个不超过6的正整数");
    scanf("%d",&a);
    for(b=a;b<a+4;b++)
    {
    for(c=a;c<a+4;c++)
    {    
    for(d=a;d<a+4;d++)
    {
    
    
    if(b!=c&&b!=d&&c!=d)               
    {
    printf("%d ",b*100+c*10+d);    
    i++;    
    if(i%6==0)
    {
    
    printf("\n");
}
    }
}
}
    
    
}
    return 0;
}

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

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int i,a,p=0,success=0,fail=0,z=1;
    char j;
    do
    {
    printf("*****猜拳小游戏*****\n");
    printf("第%d轮对决\n",z); 
    printf("该你出拳了,请选择:1.石头 2.剪刀 3.布\n");
    scanf("%d",&a);
    srand(time(NULL));
    i=rand()%3+1;
    if(a<0||a>3)
    {
    printf("error"); 
    }
    else if(a==1)
    {
        z++;
        switch(i)
        {
            case 1 : printf("你出了石头,电脑出石头\n平局,加油啊\n"); p++; break;
            case 2 : printf("你出了石头,电脑出剪刀\n运气真好,你赢了\n"); success++;break;
            case 3 : printf("你出了石头,电脑出布\n很遗憾,你输了\n"); fail++;break;    
        }
    }
    else if(a==2)
    {
        z++;
        switch(i)
        {
            case 2 : printf("你出了石头,电脑出石头\n平局,加油啊\n"); p++; break;
            case 3 : printf("你出了石头,电脑出剪刀\n运气真好,你赢了\n"); success++;break;
            case 1 : printf("你出了石头,电脑出布\n很遗憾,你输了\n"); fail++;break;    
        }
            
    }
    else if(a==3)
    {
        z++;
        switch(i)
        {
            case 3 : printf("你出了石头,电脑出石头\n平局,加油啊\n"); p++; break;
            case 1 : printf("你出了石头,电脑出剪刀\n运气真好,你赢了\n"); success++;break;
            case 2 : printf("你出了石头,电脑出布\n很遗憾,你输了\n"); fail++;break;    
        }
            
    }
    printf("继续下一轮游戏吗?\ny or n\n");
    scanf(" %c",&j);
    
}    while(j=='y'||j=='Y'); 
    printf("对决战况:\n作战次数:%d\n电脑得分:%d\n你得分:%d\n平局数:%d\n\n",z-1,fail,success,p);
    if(success>fail)
    {
        printf("你赢了");
    }
    else if(success<fail)
    {
        printf("你输了"); 
    }
    else if(success=fail)
    {
        printf("平局"); 
    }
    return 0;      
}