第六次作业

一、实验内容   

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int main()
{
    int a,b,c,d,num,sum;
    printf("输入一个四位整数\n");
    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&&a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d)
        {
            printf(" %4d",num);<br><br>                 } <br>        } return 0; <br>}

  

1
2
3
4
5
2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
 
  样例: 输入123,    输出 6     June
 
            输入12345,输出 15   ***

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
int main()
{
    int a,b,sum=0;
    printf("输入一个多位数\n");
    scanf("%d",&a);
    while(a>0)
    {
      b=a%10;
      a=a/10;
      sum=sum+b;
    }
    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("octomber\n");
    }
    else if(sum==11)
    {
        printf("november\n");
    }
    else if(sum==12)
    {
        printf("december\n");
    }
    else
    {
        printf("***");
    }
    return 0;
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int A,i,x,y,z,n=0,num;
    printf("输入一个不超过6的整数\n");
    scanf("%d",&A);
    i=A+4;
    for(x=A;x<i;x++)
        for(y=A;y<i;y++)
            for(z=A;z<i;z++)
            {
                if(x!=y&&x!=z&&y!=z)
                {
                    num=100*x+10*y+z;
                    printf(" %d",num);
                    n++;
                    if(n%6==0)
                    {
                        printf("\n");
                    }
                }
            }
            return 0;
}

  

1
4.万年历

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include<stdio.h>
int main()
{
    int year,month,day,i,a,days=0,date;
    scanf("%d%d",&year,&month);
    a=1900,i=0;
    while(a<year)
{
    if((a%4==0&&a%100!=0)||(a%400==0))
    i+=1;
    a++;
}
if((year%4==0&&year%100!=0)||(year%400==0))
{
    switch(month)
    {
     case 1:day=31;break
     case 2:days=31;day=29;break;
     case 3:days=31+29;day=31;break;
     case 4:days=31+29+31;day=30;break;
     case 5:days=31+29+31+30;day=31;break;
     case 6:days=31+29+31+30+31;day=30;break;
     case 7:days=31+29+31+30+31+30;day=31;break;
     case 8:days=31+29+31+30+31+30+31;day=31;break;
     case 9:days=31+29+31+30+31+30+31+31;day=30;break;
     case 10:days=31+29+31+30+31+30+31+31+30;day=31;break;
     case 11:days=31+29+31+30+31+30+31+31+30+31;day=30;break;
     case 12:days=31+29+31+30+31+30+31+31+30+31+30;day=31;break;
    }
}
   
else
{
    switch(month)
{
    
   case 1:day=31;break;
     case 2:days=31;day=28;break;
     case 3:days=31+28;day=31;break;
     case 4:days=31+28+31;day=30;break;
     case 5:days=31+28+31+30;day=31;break;
     case 6:days=31+28+31+30+31;day=30;break;
     case 7:days=31+28+31+30+31+30;day=31;break;
     case 8:days=31+28+31+30+31+30+31;day=31;break;
     case 9:days=31+28+31+30+31+30+31+31;day=30;break;
     case 10:days=31+28+31+30+31+30+31+31+30;day=31;break;
     case 11:days=31+28+31+30+31+30+31+31+30+31;day=30;break;
     case 12:days=31+28+31+30+31+30+31+31+30+31+30;day=31;break;
    }
}
days=(year-1900-i)*365+i*366+days;
date=(days+1)%7;
printf("%d\n",date);
printf("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n");
    for(i=0;i<date;i++)
    {
        printf("\t");
    }
    for(i=1;i<=day;i++)
    {
        printf("%d\t",i);
        if((i+date)%7==0)
        {
            printf("\n");
        }
    }
return 0;
}

  

  

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
二.实验总结:
1.顺序结构
(1)标识符由字母,数字,下划线组成
(2)“=”与“==”的区别
(3)变量先声明后使用
2.选择结构
(1)if else语句
(2)数学函数#include <math.h>
        包括:绝对值函数和平方根函数分别用double fabs和double sqrt
(3)在ifelse后面总要用到{}
3.循环结构
(1)for语句  while语句  do~while语句
(2)一行语句中一个变量只出现增,减运算符
(3)无限循环中,通过在循环体中加break语句对循环控制

  

1
2
三.作业总结
对于第二题应该想好是对谁取余,谁除10,还有先后问题<br>万年历的题日期能计算出来但是表格输不出来
posted @   计科王翊宁  阅读(161)  评论(14编辑  收藏  举报
编辑推荐:
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
阅读排行:
· 回顾我的软件开发经历(1)
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· .NET 9 new features-C#13新的锁类型和语义
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
点击右上角即可分享
微信分享提示