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

黑客学习

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

阿呆学习题目

现在又开始学习了,我从一名老师沦落为一名学生了,比过说实话,我还是挺喜欢做学生的,现在初学C语言,NND,一个破题目,想了我一下午,改了又改,改完了又编,编完了又改,哎哟,我发现我的逻辑思维能力真的不是很高,下面我把其中一道挡了我半天的题目发出来大家看看!由于我是初学,所以觉得,真的是想死我了! G&d b#k:C*yg
Iw m,e8O6qfw
题目:
1W Lb!F+`^O'[ 3\9E7jC'gw,nsT
编写一个程序,要求计算出生日到计算日的总天数
Lv1`6uW]Xjk 算法:6@B1\~ x
1)输入出生年year1、月month1、日date1和计算日年year2、月month2、日date2。[yy6EtU
2)统计year1到year2-1的总天数;v5D0LUn&^n2B
3)计算出出生日和计算日是当年的第days1和days2。    +lmUeY"]0rJ
4)总天数等于days+days2-days1
y4e*xw&` y$K0J 根据结果,判断体力、情绪和智力状态
|.u @Siz#rE&@;AE      方法如下:P5l]6g,kx3\"h
       体力状态:用总天数除以23,余数在0~11为体力高潮期,否则为体力低潮期。_Yk2@fs
       情绪状态:用总天数除以28,余数在0~14为情绪高潮期,否则为情绪低潮期。
(LHZLv*ou        智力状态:用总天数除以33,余数在0~16为智力高潮期,否则为智力低潮期。]e8F^7oQ

qj3f IM"g6uu 我自己写出来的,哇靠真是想死我了!~~~~~NND,死了我成千上万的脑细胞!
tk'A^B [code]
G-k)so$C JN #include <stdio.h>P Ps.Q1x9K-W2ML `E
int day(int year, int month) ?+q LqL*}mA1\Z
{
:f.j)W2P5wQ,f kE     int days;t*lXh2[t0H[Ic
    for(int n = 1; n <= month; n++)
Z0l|#s$\9i+|     {
Q]K?j^         if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)8X7K"OcX(Oj
        {*FW9[$f7fm FD'^#N3c
            switch (n)%\9E9f$j @+i ^.ws
            {q3Azt$pv
            case 1:;E AG#Q8U.dIH
                days = 31;o7Eb;me
                break;
$C|)}$TJ1E!J             case 2:
5t(@3HZD`n{                 days += 29;
k2WFo5s ?                 break;ba^&@6G.b
            case 3:
iNov7HtkV                 days += 31;x$G7vf H:y(o
                break;
l,U{]&d5T             case 4:
!Bk*fd Fu,s                 days += 30;
.PKd/o:C3`` T                 break;
CI#h `_U:EyL             case 5:
G0l!]'i w.u;t8D'e                 days += 31;
D(Ew3Iv5wC                 break;
+W~K5Two             case 6:
g8m H:_$~j/Q                 days += 30;
*h+`,At2DK+E8}                 break;
X}FZi6l"w"t             case 7:
m(xt-r{                 days += 31;
cA(]7~(w,d t                 break;
V fqKj S#|b             case 8:
&Wy#|"_"[r b                 days += 31;9s w `8Yl)SC.kG
                break;*j:K0nu&~q4c2V\
            case 9:
t!x$hV$N(LhuHd*su                 days += 30;Eb&v I^*eG(J#d"^ _$k
                break;
9^iYXKS D{ D             case 10:
DQPvc[h-z:I                 days += 31;8RA s)M,\&?N
                break;
^*[ | q3o0m X             case 11:
Z/s/q]7Z kU6rVu                 days += 30;
7fnw A;g ?QAFSl                 break;1V m:H)?t+^y
            case 12:
l1IA_*s1|sR                 days += 31;W} P'q&we+k:R
                break;{uW [@\8r%d|7|
            default:
\uN"Y`:ax*Y                 printf("您输入的月份大于12个月,因此不合格!");3Yu9K V(@)_M
            }
$hPfA%r$o+M         }.Z QHDL J6B-KZ[
        else} jn&k V;m{3o lJ1]
        {SA m{ I'j
            switch (n)2WQM2I&qL6f&`&cQ
            {@"]9Qr,w*b3]
            case 1:jM.lX9BO(L
                days = 31;
s4[(^+S7D9EpQq                 break;
RP?*Qz8G;k             case 2:
OKD3l\BZ1_'G0pu                 days += 28;)^z&Lk(l"d(z/{
                break;*V#m XAm6l+T
            case 3:
~M y0U6P+m"N                 days += 31;
{8@(fg'NG#D;j                 break;
y5EcWp             case 4:e~}K+V?| A
                days += 30;
,f)a)E(Lp                 break;$vgi#Tv gVN
            case 5:
)Q W@!}X,?                 days += 31;&i4VE7kJi?
                break;,I;Gz uc9k\
            case 6:([*r [m,y pk)A$q'X]|
                days += 30;
X"[&c yY#w^(n                 break;5g(p p-Sy
            case 7:
:v;wdgB                 days += 31;
\SGo \$Yxf|q                 break;
[JO`(v8}(MfKN~             case 8:
/rqM tBl;u$F%L                 days += 31;
p6Xt nGA9^8w                 break;(v-s+BFN ^
            case 9: v y1_A c6e%hb
                days += 30;9PA.Op.|/R2X/m
                break;X Ou;wn |
            case 10:.Q6Ou%?KN#me'v
                days += 31;e%Le3Va;{
                break;.G X*x#k,^W8Q.R{9ck
            case 11: h*B H~]
                days += 30;lE3[0P k*f%u
                break;%q&b)[~'aOX:D
            case 12:
u!Y y;P0x0u |                 days += 31;
P@b'Lw5]                 break;
2e2j{L$XGfLK])U!t             default:#BUYW}}0|
                printf("您输入的月份大于12个月,因此不合格!");
#^ @c J3kV,]*Y             }G1lK l'j?
        }
]X%gi.`'B8z     }9?+E/A2GO ]E
    return days;se2Kb(sH!cA
}
7i"fo1t { z)x-c
nuZ,m_ void main())CgO&MU$r
{ Av)FJm3At
    int year1, year2, month1, month2, date1, date2;
-K4?q-F} c%R` A E:C     int days1, days2,alldays; P.XL D'~*f Nu8_
    printf("请按格式输入出生年,月,日:");
0^[$cw ]6c&@     scanf("%d,%d,%d", &year1, &month1, &date1);
'eA3Ee{0O     printf("请按格式输入当前年,月,日:");W&{8L/Zi&wzZ
    scanf("%d,%d,%d", &year2, &month2, &date2); hgE#nH f1`7\9T5vM
    days1=day(year1, month1);|u+H_n
    days2=day(year2, month2);
.G#y*|rmTU_     for(int n=year1, days=0; n < year2; n++)
,z/W&mzY&v!h!G `-E pK     {OTLw }@ P,ELlX
        if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)}Fx8es;{;MXf,Ex
        {D+O/Yi*_I I
            days+=366;R7ZrA| k#N
        }H]~bhxq'~{ X
        else,Lk3Ada6k7f
        {(XQ vB.jZ g g pB@
            days+=365;
w:VFq3wX9Lc"n         }5}]c u} ma
    }
-c"qhEV^g     alldays=days-(days1+date1)+(days2+date2);
5i2ne*dJ2DJ(W!v7~0QX"~     printf("==============================\r\n结果:\r\n==============================\r\n");P3j4y,[zO&T
    printf("从出生年到现年总共%d天。\r\n", alldays);
G:be,N/A1{,hE     if ( alldays%23>0 && alldays%23<11 )
\3os|cwI;~     {0i3AX]4C
        printf("您现在处于体力高潮期\r\n");
s1V+m0M:U ? w     }1I5J6tr\Z&r4Q
    else&kZ/B/S]5j5r
    {T6a[ P t'a
        printf("您现在处于体力低潮期\r\n");4S:F!dm%g
    }
][ L+vU!fNWI     if ( alldays%28>0 && alldays%28<14 ) b1V"[\3i3T*l@
    {
G NZ Ogz${[         printf("您现在处于智力高潮期\r\n");
(T,l.Zo"a yg0Ga1]     }
)U1d,_{Ta|     else8k5{rC x.sc
    {1q[oaB)b:b
        printf("您现在处于智力低潮期\r\n");cj5^[u6Q
    }W/D/l9p3oBu
    if ( alldays%33>0 && alldays%33<16 )
cn4|uOu kMwA     {
|&PQ9niDM         printf("您现在处于情绪高潮期\r\n");
;XIGqdt     }5HTY1S5w7uy
    else&i*_P0MzC#K6^3p
    {!_c)VEn%V4^
        printf("您现在处于情绪低潮期\r\n");
+zJrr7Gh _i"q     }f5W9`l/GY#t
}rA N Uo5d)i
[/code]

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

数学好点就很容易的
dtvlR m[6Me 像我看起来就一点不费劲.m (25). .m (25). uZ.^j;O;el!Y8]"R
^F-U5MCmn4M
怎么说俺靠了这个去全国竞赛呢,嘻嘻,现在不行了,老了

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

这个东西完全是一种逻辑思维能力,我感觉,我在这方面很欠缺啊!~~~
,QD W J:\1kQ(^X f 写程序真吃力!~~~~

柔肠寸断 发表于 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.