【3.A.S.T】网络安全爱好者's Archiver

黑客学习

saitojie 发表于 2009-2-22 17:44

阿呆学习题目

现在又开始学习了,我从一名老师沦落为一名学生了,比过说实话,我还是挺喜欢做学生的,现在初学C语言,NND,一个破题目,想了我一下午,改了又改,改完了又编,编完了又改,哎哟,我发现我的逻辑思维能力真的不是很高,下面我把其中一道挡了我半天的题目发出来大家看看!由于我是初学,所以觉得,真的是想死我了!
0T Yo#Pr_BWd'T -s&c poaV,P DSs,d
题目:1koGQ4B |#[

&a1o.|_*u,}k 编写一个程序,要求计算出生日到计算日的总天数
3Ya _L?a Q 算法:tOXF/o/f!Rxu(?d
1)输入出生年year1、月month1、日date1和计算日年year2、月month2、日date2。
~9Khp2f$s9gBp 2)统计year1到year2-1的总天数;(Mx"j:pTt4j
3)计算出出生日和计算日是当年的第days1和days2。    T a+zp0@$C.Y
4)总天数等于days+days2-days1HT0ZV?&YqO
根据结果,判断体力、情绪和智力状态Yw8aX&N
     方法如下:1Kl3R~[
       体力状态:用总天数除以23,余数在0~11为体力高潮期,否则为体力低潮期。
YK(p3n6nDG+o/l6J$i        情绪状态:用总天数除以28,余数在0~14为情绪高潮期,否则为情绪低潮期。
Bc5EK!eNw@P k Z        智力状态:用总天数除以33,余数在0~16为智力高潮期,否则为智力低潮期。
*VX%qH*@J.T+c
fL+U+X`q 我自己写出来的,哇靠真是想死我了!~~~~~NND,死了我成千上万的脑细胞!!?(K K })Z z+z
[code]
j1HeI1E0k #include <stdio.h>
#N$](r.P M int day(int year, int month)
5R6G/P3E$UW&J5O {aps?H.J
    int days;
4]RP9P7e%_3iqF     for(int n = 1; n <= month; n++)
3n zgz#l};}$Y     {
1aAob Jd         if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
,KCt%M-` O         {Lc UQ)wtt
            switch (n)
8r8t!hF K:~+`yI7s             {}]+y)Xcy1o#zv
            case 1:'o%V J#Q+w
                days = 31;Nl~/R5A y!h%r
                break;
(J Ba;Y"[d ]4A             case 2:.U.YR7m/Kv/\
                days += 29;
U.wZ!}a6\Q0C&g                 break;(T1D"nL(Nm,O
            case 3::KF8s hj |%W#T
                days += 31; `D0xi-zR$fyF
                break;`:e%\3un~ X
            case 4:p#K!e6n&d&JRUT_p
                days += 30;
)[3W;r7p&Hd\:C                 break;S UG bY"[3D])k6Ez
            case 5:
8HTb+S b                 days += 31;
S,[.e5WCl U e5uc                 break;Z,U'Nc7h nSS
            case 6:+~*J4VR E
                days += 30;
,Ff3Zd#uNH e                 break;)ieE @{m ZG
            case 7:)uO'Ah{s+T0W
                days += 31;
Q0nA9Z)`:z                 break;
YJg f*{x?yBF             case 8: Pr"w%J z8V4T2EQ
                days += 31;
H%eg B1A                 break;
XK.Mg%b4G-['u^             case 9:
}\I$j _2a j;jL                 days += 30;
p.E8^"~I,y Q                 break;
c2fF#[-j4CG(mJE             case 10:
)n4B0?/J6^.z Jcx                 days += 31;bN+|jW9X
                break;+Mn W"v.|0M
            case 11:
z(^V;e!Y;I)XbN                 days += 30;
(O3b!w v Z"L                 break;[#Z'f@dN
            case 12:
_#R8vqg                 days += 31;x9Qwhq%{ t$d
                break;
{T^?4C#OK%\5Q             default:^%qs'Y*}T\w%[
                printf("您输入的月份大于12个月,因此不合格!"); `[s1v&r'J*V9u$OL
            }
w-u,t*h{ b6uU         }
*e tg*uFL6g         else
yl'S,u+n0H         {
Ms1{]0f$XQ             switch (n)G!c4~_h&d0Uy0b
            {
8E6e[3i3VzT             case 1:1d fmskx
                days = 31;
l6FQ;q8s G-g                 break;
gK&]:o`9B#J{O ayC%vS             case 2:
xLw7u5g"y&WQ                 days += 28;.P x^e%^K%Af6ra$k
                break;kut+p"g
            case 3:
0I9B2X o#L3C#_                 days += 31;8U/F3KFc&o3iy
                break;
lK?}MoU\ s             case 4:
H{5^*Bm*Z-]$X                 days += 30;
R!jL5J5F]?_-C(Q                 break;se(Fr5~!z/u)e
            case 5: ^/^}'loo;D
                days += 31;
^9}4rUa/S9~2|+P                 break;i%q+eM|;n0~VWY
            case 6:Q9R*S v/_ X#JS N4x
                days += 30;
.^@(ElsQg                 break;Y3m v)H-sw c ioFF
            case 7:
j'L-VZ n J                 days += 31;kv'TyQ
                break;
/wM+U|H I             case 8:
6`L~(G\E6e                 days += 31;SVH$IG%Nl
                break;
O6[Rj Z             case 9:
~1rIG.^i UZt                 days += 30; K6|4C*U2UK
                break;
9s`"K.D!q3]y!~a             case 10:
x,z"qJ+l7w0UZ(I                 days += 31;
.Jk#h#{9^                 break;b0sB%e4Im}s
            case 11:
O(y W(`#vj0d/uw x                 days += 30;\.F/HF6P$u'OEN9t(w+r
                break;+IgXL3c
            case 12:m!O2e;Zg
                days += 31;
{x-jr%x^#?J                 break; f.S!t9f)G^%?7B
            default:
;?!r N4QzJ3A$[                 printf("您输入的月份大于12个月,因此不合格!");C)@/v;H0\w']&_|
            }{ VQj,e})Ao
        } Rs&M+_(e|
    } a[q8?x(M
    return days;Sh{*B#H'_
}
kt:~4Z6kum &Lj]oOn,[J(~
void main()&Y MfsgW
{}~)Z ea!H{
    int year1, year2, month1, month2, date1, date2;
.M p B0QSz2nV     int days1, days2,alldays;3pjP#ybq
    printf("请按格式输入出生年,月,日:");W?,ZY;e+\
    scanf("%d,%d,%d", &year1, &month1, &date1);
tB+Y4I&ib     printf("请按格式输入当前年,月,日:");
Pn5{K"n_     scanf("%d,%d,%d", &year2, &month2, &date2); gA1^!AhIQ}
    days1=day(year1, month1);
/n|1KOh/qR2M6~W     days2=day(year2, month2);:[+X:b-mx6n
    for(int n=year1, days=0; n < year2; n++)Y$`z5JcsH;`n)I
    {
&a{;tk#[&@7c9_ s(M         if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)
B$~$A,]Wk Q*w(n         {MS(c)}Ybac,i
            days+=366;:U9@,q,?LK)c/s0K(I
        }7v;wb M2o.rj ?4W
        else9bYcKd7i@HoRc;q(W
        {
l Hr0^'D,YG             days+=365;1W;U$HC0^[8Z
        }
/~8?n^ |/ER~g.a~yL     }bE Y|0p1\D
    alldays=days-(days1+date1)+(days2+date2);"J&tP%{N9J@K
    printf("==============================\r\n结果:\r\n==============================\r\n");#b4|(r:G9R4s N k v
    printf("从出生年到现年总共%d天。\r\n", alldays);E.zeB1i0Yo
    if ( alldays%23>0 && alldays%23<11 )
Q'i5_6e2]*L.Ji     {
N_&f} gO Qn         printf("您现在处于体力高潮期\r\n"); {Bq;~p!Fy
    }!urxmk N
    elsexB!SO]W,E4h
    {
v TL,Q:{8z         printf("您现在处于体力低潮期\r\n");
o2y5`q+}4ue0R     }
%P^4|4V7E v9OZ     if ( alldays%28>0 && alldays%28<14 )
];a pI:b     {2E} X)b+ToVg
        printf("您现在处于智力高潮期\r\n");/o*ugPiS2Sh
    }5K9h@"_,u)lf
    else.e3[%~Z6}niB$Z_w1V
    {x'd _k.c
        printf("您现在处于智力低潮期\r\n");
\YP*jTK     }T\W{3s,f(l2MJ
    if ( alldays%33>0 && alldays%33<16 )f6k)BL}
    {N-w@ yb(E|d1D
        printf("您现在处于情绪高潮期\r\n");
AABPQ#|Q] w     }
3T.y4b1UFY]*\8L     else"w7["My/q2J
    {7R0ODQC?n
        printf("您现在处于情绪低潮期\r\n");7dDj W,Ap
    }+}5}E"sf({
}`h o(] KE
[/code]

柔肠寸断 发表于 2009-2-22 20:56

数学好点就很容易的[-q*`sM4H1]J#l)w
像我看起来就一点不费劲.m (25). .m (25). fT JY{

[ l$[8GQ 怎么说俺靠了这个去全国竞赛呢,嘻嘻,现在不行了,老了

saitojie 发表于 2009-2-23 01:20

这个东西完全是一种逻辑思维能力,我感觉,我在这方面很欠缺啊!~~~&y'NU&W8^ l4^a:]
写程序真吃力!~~~~

柔肠寸断 发表于 2009-3-1 02:26

呆呆加油呀

闲逛 发表于 2009-3-1 12:46

.m (123). 闰月 闰年的情况要怎么弄呢?

koycon 发表于 2009-3-1 13:55

他前面就判断了是否是闰年的

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.