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

黑客学习

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

阿呆学习题目

现在又开始学习了,我从一名老师沦落为一名学生了,比过说实话,我还是挺喜欢做学生的,现在初学C语言,NND,一个破题目,想了我一下午,改了又改,改完了又编,编完了又改,哎哟,我发现我的逻辑思维能力真的不是很高,下面我把其中一道挡了我半天的题目发出来大家看看!由于我是初学,所以觉得,真的是想死我了!
n6e8`+C[x)j&_ f&d+x^,fkmD
题目:t)zv s.M
5fG,V'GeI!LVb
编写一个程序,要求计算出生日到计算日的总天数d YA&K%b@w| l
算法:9l+c"y-W.q#e4X3E
1)输入出生年year1、月month1、日date1和计算日年year2、月month2、日date2。
-F+wp Ye 2)统计year1到year2-1的总天数;
u~$Y u P:r[ 3)计算出出生日和计算日是当年的第days1和days2。    /E1ZM:D2X_D*b"A0@
4)总天数等于days+days2-days1D2k@Q}VhM
根据结果,判断体力、情绪和智力状态kR0GCh{+N
     方法如下:
_+OC*}/}{mx        体力状态:用总天数除以23,余数在0~11为体力高潮期,否则为体力低潮期。
5c,K#@ x1X'v`        情绪状态:用总天数除以28,余数在0~14为情绪高潮期,否则为情绪低潮期。
z)V@m%R"r#a        智力状态:用总天数除以33,余数在0~16为智力高潮期,否则为智力低潮期。+N+y'Z:qS/K#w*E,_
\(] X)T {E(t8h#X
我自己写出来的,哇靠真是想死我了!~~~~~NND,死了我成千上万的脑细胞!
&Sg:UDf]Vz9L(pd [code]`[v/T7_U
#include <stdio.h>3w@H/b.`)z a%t7u
int day(int year, int month)UYd([6\8Q"bL we+d
{5pAXFX6Z+tgD
    int days;
Ma5d8ubp7uKK     for(int n = 1; n <= month; n++)
{!b:hKH$Q C P%E     {
i;akZ#l)K3j         if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
` n3`V3Bj V$A;Si1U         {
.DK,z4d\V-aJ B ?             switch (n)TDx1cz y"A
            {
%[V(W4_jV             case 1:T9`.S.iHj w
                days = 31;
rOJ@,f                 break;
Mj w-G hUl#M             case 2:g2bVH:i num
                days += 29;
i-N B+P5s                 break;2o*DL [K'z4\
            case 3:j3a |u QSY/O
                days += 31;
r5@%h|/F'GSl })z                 break; s8dxs_$jL
            case 4:6N&f2@"M0gOL[
                days += 30;
J"h JvX#^ @.S                 break;$y@_O8d
            case 5:2J/|*}^"d5M ?
                days += 31; \Tg-x/{.@ReO$l
                break;h;IIf"E
            case 6:U2m[`'a
                days += 30;
0k{3l[-G`0lC ?                 break;e!G f%o+c0Fz RI
            case 7: {pH0yL
                days += 31;
R/}]#x&y3Ql                 break;
(RiAH)\&AA[             case 8:
7Qj-{u%rZ2{y                 days += 31;.U K"xl{
                break;
w`J s g_             case 9:
&d_o O7~l/mc1V                 days += 30;o%^ I~ C
                break;_P3rX`-|]Fh
            case 10:wy;trr?
                days += 31;m#G ko.[E l
                break;
6u$m7Mpg0U'Za2W3d             case 11:
z[p,m.So1fvd                 days += 30; Pk;E ~7I_
                break; N@:CN6lbH
            case 12:Y.@e.Y}8|3E)zw4[
                days += 31;4AH0Z_ud@&o
                break;g\!dFLf xzJ|P
            default:
+^ JE+A:M;l-Ou*`                 printf("您输入的月份大于12个月,因此不合格!");!T2LRtMc9R2N2Ay
            }
)|l:js"h@3e&M         }
Mu-@*\Xo0dN         else7JCz%v'm%?-b
        {6Z{q#D9T7c J
            switch (n)
y\i/LQSe'Z             {
w}|u.w*p`']"nz'J2I             case 1:
5l6z*o {_x#L*AwH                 days = 31;
#|at?#yEZ3y)s                 break;
|gcym(u,]m] S?             case 2:1J`N9i1}.fn K3?| _X
                days += 28;7R/gU$zjN
                break;}'~8Evj,]y
            case 3:#IM A0I7}u$Xv,O
                days += 31; D4Ec$_Yp3r
                break;
"KL2J$eV0U$o7I             case 4:W'A m@$J,o&V'V3WK
                days += 30;"xSP4a+?w
                break;;VPD.}5{s o S%jA8A?
            case 5:L `S|(W[ZO
                days += 31;
5L+L!F z~J4q                 break;;}c#ss4F-b)U!W
            case 6:7bn4_0Z U P_^)uB
                days += 30;
)@Z[f]                 break;
m bb]1Q3j \o!z7l             case 7:
(ai0F)?N!|(j^|*C                 days += 31;
4q Eo2gi#x8@3]                 break;
7f:C`[6Gr0IZ             case 8:4ddGmm
                days += 31;.}wtk uk
                break;
Eoe#t}i:I             case 9:5Aubf+\HM NL
                days += 30;j.X)sg \7FwS
                break;
3Z!I!QJo$O             case 10:|1Z0qK&e gDIM8C
                days += 31;!L\2yP(|,x
                break;
8p)y9SD+Y             case 11:
]+H8r\;D,`8DSbq                 days += 30;)mxw2g;v*YJ;\hZ
                break;
J+U{"H%HxM5J&T8X             case 12:} }#q`C[?L
                days += 31;2`!kQ,J6~
                break;
K!N"q/G\L             default:2aI0~2Pk)G#Cva
                printf("您输入的月份大于12个月,因此不合格!");
x#w4L]e7Q.h@             } b%lWEMxie D
        }
+QF;Mn8bMG     } E GK,`8XK
    return days;7Q}}(h3sy,Kk{
}1\c{*j/IlOg
\-Qx&R.g1i1zS
void main()
5RO0k*Iqc J9B {
dt xm^&N     int year1, year2, month1, month2, date1, date2;
U wqP)Z.S1t!M     int days1, days2,alldays; sk7Gd&z-z'G
    printf("请按格式输入出生年,月,日:");h p"Cv[FnaVJ
    scanf("%d,%d,%d", &year1, &month1, &date1);-{wu!b'Vx
    printf("请按格式输入当前年,月,日:");
S_/QL2R6e     scanf("%d,%d,%d", &year2, &month2, &date2);
+fSF%M _p*A{{     days1=day(year1, month1);
s E.E;l,QS9_| E     days2=day(year2, month2);q1h)EZF&]m,hD-C
    for(int n=year1, days=0; n < year2; n++)9F|1pP[
    {
zl+[ kk"\e         if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)
&af3rrA$r(}UbU         {
}P)c/i"RzJx2}             days+=366;
/PV;~I8s![;|,B         }$H| gva4^A7}%o
        else
q _V5V}r         { W$@_?2Hv.Si*~)M7_
            days+=365;WqGpp.P4[+_
        }2v m[5|S-t kc
    }
jH dw$r8eG     alldays=days-(days1+date1)+(days2+date2);
%j/J0hqv)qQ I}     printf("==============================\r\n结果:\r\n==============================\r\n");| v;OV$d
    printf("从出生年到现年总共%d天。\r\n", alldays);
,x\|'JX1M,T     if ( alldays%23>0 && alldays%23<11 )
8L n1m([j)y0a3m(i     {
sa-nh\0V|J%q5rq6X         printf("您现在处于体力高潮期\r\n");_Fq9P2N+T
    }
@E;^h*qt4q     else
-l+T BMJV"c     {
x$q S~:Ee         printf("您现在处于体力低潮期\r\n");
1A?rn ?TF3K     }Q7CdHmu4|_~
    if ( alldays%28>0 && alldays%28<14 )
s5wb p o&K     {I%? A'\#@U
        printf("您现在处于智力高潮期\r\n");
$O#m,ARt0~7E,Zd     }CV\ro.`9t
    else
A;@:__#W*^h~5V     {
8XV2dR1B5K         printf("您现在处于智力低潮期\r\n");
0}p|W9wN0M+D     }
\#];zvlF6k.C5b     if ( alldays%33>0 && alldays%33<16 )8ppP!A)DF&L
    {
}[1w}^7^         printf("您现在处于情绪高潮期\r\n");#yO#MG&]g
    }
;B;g\U&jLh     else;^#D6p b0T vS h
    {gA8^{tk w'EV
        printf("您现在处于情绪低潮期\r\n");
U tO'[_4X-Z     }7z8z3{TtH%@!@V e
}EyO j c:o
[/code]

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

数学好点就很容易的
6}S.yr3LA 像我看起来就一点不费劲.m (25). .m (25).
]B.kQgH!N -f&f]p$i]
怎么说俺靠了这个去全国竞赛呢,嘻嘻,现在不行了,老了

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

这个东西完全是一种逻辑思维能力,我感觉,我在这方面很欠缺啊!~~~tmPqn-Z7}c1}d.m
写程序真吃力!~~~~

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