第六次作业

一:实验内容

1.

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

代码:

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

运行结果:

2.

实验要求:

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

  样例: 输入123,    输出 6     June

            输入12345,输出 15   ***

代码:

int main()
{
    int num,s=0,i,x,sum=0;

    printf("输入任意一个多位的数字
");
    scanf("%d",&num);
    while(num!=0)
    {
        s=num%10;
        num=num/10;
        x=x+s;
    } 
    if(x<=0||x>=13)
    {
        printf("***");
    }
    else if(x>=0&&x<=12)
    {
        switch(x)
        {
        case 1:printf("%d January",x);break;
        case 2:printf("%d February",x);break;
        case 3:printf("%d March",x);break;
        case 4:printf("%d April",x);break;
        case 5:printf("%d May",x);break;
        case 6:printf("%d June",x);break;
        case 7:printf("%d July",x);break;
        case 8:printf("%d August",x);break;
        case 9:printf("%d September",x);break;
        case 10:printf("%d Octorber",x);break;
        case 11:printf("%d November",x);break;
        case 12:printf("%d December",x);break;    
        }
    }
    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>
#include<stdlib.h>
int main()
{
    int a,b,x,y,z,c,num;
    printf("输入一位不超过6的整数:
");
    scanf("%d",&a);
    while(a<=0||a>=7)
    {
        printf("输入错误,请重新输入:
");
        scanf("%d",&a);
    }
    b=a+4;
    for(x=a;x<b;x++)
    for(y=a;y<b;y++)
    for(z=a;z<b;z++)
    {
        if(x!=y&&x!=z&&y!=z)
        {
            num=100*x+10*y+z;
            printf(" %d",num);
            c++;
            if(c%6==0)
            {
                printf("
");
            }
        }
    }
    return 0;
}

运行结果:

4.

万年历

代码:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i,h,n,year,year1,month,zong,sum,sum1,sum2;
    printf("请输入年份个月份,用空格分开。
");
    scanf("%d%d",&year,&month);
    while(year<1900||month<1||month>12)
    {
        printf("数据错误,请重新输入。
");
        scanf("%d%d",&year,&month);
    }
    system("cls");
    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;
    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("
");
        }
    }
    return 0;
}

运行结果:

二:实验总结

1.在switch语句中用break跳出循环

原文地址:https://www.cnblogs.com/kbx1602/p/6050131.html