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

黑客学习

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

阿呆学习题目

现在又开始学习了,我从一名老师沦落为一名学生了,比过说实话,我还是挺喜欢做学生的,现在初学C语言,NND,一个破题目,想了我一下午,改了又改,改完了又编,编完了又改,哎哟,我发现我的逻辑思维能力真的不是很高,下面我把其中一道挡了我半天的题目发出来大家看看!由于我是初学,所以觉得,真的是想死我了!
4xqb|2E\ -OR:Q8G[4Fn't~:n
题目:
+N?pt4VIFn z :zGA*z,E&\
编写一个程序,要求计算出生日到计算日的总天数2D5^/i4V9uk?
算法:
/?)rH8g1S3di3^:~ 1)输入出生年year1、月month1、日date1和计算日年year2、月month2、日date2。-M(lO p PMsA3m
2)统计year1到year2-1的总天数;Zj?qJ*HI
3)计算出出生日和计算日是当年的第days1和days2。    1Y}'nIK eYTS+e#d
4)总天数等于days+days2-days1EvgR`8B|4g%J
根据结果,判断体力、情绪和智力状态
5m c7d4?'sd-E      方法如下:
x5i oA t.pj!|        体力状态:用总天数除以23,余数在0~11为体力高潮期,否则为体力低潮期。
"h:JM5_~(`:jZ2T2x        情绪状态:用总天数除以28,余数在0~14为情绪高潮期,否则为情绪低潮期。
5h;YK1q9x5M;g        智力状态:用总天数除以33,余数在0~16为智力高潮期,否则为智力低潮期。7r/r ]P\Fn

p{yHHF 我自己写出来的,哇靠真是想死我了!~~~~~NND,死了我成千上万的脑细胞!
'XX-s3R:IMkV ]Q BG [code]{\mcT\
#include <stdio.h>
.m~sV:e9b int day(int year, int month)
#jD2z+wrM.U {
2C@N%['d:YH(n     int days;Y5U^r7L/@3I U
    for(int n = 1; n <= month; n++)XLXV4O'} d ]@
    {0XI-zu{ra!W
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
Mx#h@;Y/k         {
5K-KE'ji;}kh8G8B             switch (n)
~*j%`k,SO)l8T             {
nl&M&C9Z             case 1:
O/nV2FBzn2o*t}                 days = 31;
(i7g9vkh`                 break;&F4b |;OQm1be*`
            case 2:
E4iT'k|y0`4c                 days += 29;
?5E9doQ!GQ;d                 break;
{3_d1Q;?` S             case 3:Lv%sW4~ M l2~0p
                days += 31;
^4i*`U go}e                 break;-UPH(a\:jH E+n
            case 4:|[f#NEz'[fp
                days += 30;
+`)_ K Fw TYlF                 break;Dq#z;wg
            case 5:
qU-{g^7Tx f                 days += 31;y YIUg
                break;
F!d'gO B:M+d             case 6:
.f-^z7~/Mh(r:B                 days += 30;7o#M~+}b'Hy
                break;M8U t&h4A y
            case 7: qb"o3_ hvI
                days += 31; XAx'EN
                break;FCMbK4P5~
            case 8:/p[]:l5O ZN9L } PN*d
                days += 31;L+Tq|M.xY&}`
                break;
t^6N|O             case 9:0q&L4LQ&A!Iu ?{&eP
                days += 30;
*D6vs%fm-ah:W                 break;(j9M/_+FYJzm1FV
            case 10:Z5O/md$_K
                days += 31;2ysG\C#O
                break;
D"R*cN%H5^K             case 11:&s!en7L%r
                days += 30;M+ugGv.k:YK?
                break;h+stltdK8W.cZ
            case 12: iR*W|#c_Un]G+{!H
                days += 31;
~Ml6[;l W\g                 break;
9EDAH(Z ]nj             default:
l1u!{}8e\$iSr                 printf("您输入的月份大于12个月,因此不合格!");
#w#g/heK l8mX             }/?O4Iqh
        }j+^x4kV~
        else
/K4^;z(a}y&L         {
i']MJ1c3}-qg[6V             switch (n)
(t#w?8]0]FJ(iz O             {^F({9}(vP
            case 1:
K _6w-Cj VV                 days = 31;/c(~4Q7gT}
                break;
(Q j{0G$dR             case 2:
p)Erc&s {0hkP5s                 days += 28;
[D+f^2Ivq2y                 break;
U3}o%tlVXy(tJ             case 3:OXb {%w(VZ9L
                days += 31;;W E1T Qd s
                break;u-T'\-t`z2fA
            case 4:2K O$rH.M
                days += 30;.rPJ4k\`2ZS
                break;
ADZxe-vv2X,k             case 5:
/q3cY3|X G                 days += 31;A.i)L e Hg,|2Cg
                break;
.H+i;Hy/zq             case 6:7Y/Ma*L*E aCx w
                days += 30;
bDDf~GL                 break;T?9S8jVT
            case 7:W:W B+d}r&V-g
                days += 31;'iYqk3m5m A
                break;
\)`Uas0]Zr             case 8:5[ c.t&J Nl0op
                days += 31;
B o'mZ4Jq P                 break;
9o*n4gz5Nt'm G^#^N             case 9:2F4I5c baCsAW&b,W
                days += 30;V)K/dL0Kz$M$b.d
                break;
3AL"K1A&@             case 10:
0`1I0hJ/r dy t$F[                 days += 31;
h?*JWy_                 break; m;Z+KCqN-b1D
            case 11:
/p JAr)] p;U;Q;hJ                 days += 30;d.Yyy$g6S
                break;
$fx6e#kcL/c             case 12:;S7ami v8{
                days += 31;xJt&s:Y|8x
                break; W'aBHPp-v
            default:
d0@"h:Hm+D9j\                 printf("您输入的月份大于12个月,因此不合格!");
en eoU C             }
[!MTkD*z@6q         }
/z(ez1M)z1Yj#F     }S-Gw:VV_8A/G
    return days;
p3e$[9Ra y0J0SA }
fCPt9LIbl _E|2k*_ P
void main()K"A{+h`)d.i
{
({~s9GX3Db8t(eH     int year1, year2, month1, month2, date1, date2;
vd!I[ ^E*P     int days1, days2,alldays;;x2s`;R _uq
    printf("请按格式输入出生年,月,日:");
+AOjXYnp     scanf("%d,%d,%d", &year1, &month1, &date1);J KD#]1v b0Xf
    printf("请按格式输入当前年,月,日:");"V"uz2ODJ[4`z9X
    scanf("%d,%d,%d", &year2, &month2, &date2);
]D1|mc y K     days1=day(year1, month1);
&s$dMV{#r     days2=day(year2, month2);D4Upt%g
    for(int n=year1, days=0; n < year2; n++)
TK1jfdOJ     {
L3TH{T.v2u}         if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0) R @ ldT;J1]9rz
        {:^!]Iv!^SLB*e9\
            days+=366;'f*E/l#Ap:F
        } aJZ9|*^e
        else
1?;mT;I y         {
n3\o#h7mA?             days+=365;
-^ XV'y_Z&N ^j         }
Z*eRp5shn6T     }6o hGm O!s0C R Jc
    alldays=days-(days1+date1)+(days2+date2);H-DT!R&s h[-A
    printf("==============================\r\n结果:\r\n==============================\r\n");bAU2B!z4r4p9L
    printf("从出生年到现年总共%d天。\r\n", alldays);!u9F~Ltj'x7n
    if ( alldays%23>0 && alldays%23<11 )1^V i;L,H/mug!e
    {
,X/r,lk)Dk.OV_2^         printf("您现在处于体力高潮期\r\n");
+F2XE!q U9f|R"h     }
!A(Q$SjSU$j     else
/@%i,[ c4f)U T     {
R rTeMVO.m0I         printf("您现在处于体力低潮期\r\n");{Jz|*^
    }[z$x t+_ N's8_
    if ( alldays%28>0 && alldays%28<14 )(Z9pa;n.TX
    {7e/vw bW u
        printf("您现在处于智力高潮期\r\n");9gE#p$w6Bp;]
    }P.O nD%T
    else:b$z+e$|1x3~j
    {
G$AXw,H5y         printf("您现在处于智力低潮期\r\n");
jH-uZf#i#lm;[[[K5U     }
8b}/x6X,w MrI     if ( alldays%33>0 && alldays%33<16 )
,wOQ:H'sG     {
2g1_ w2T jq1b,k7P         printf("您现在处于情绪高潮期\r\n"); z CW'].F])N
    }m@5z$yW
    else
by lp nz t D     {
N1q7W*u4@'u? Sh         printf("您现在处于情绪低潮期\r\n");
(o'to/YHl&z;z     }
X!iO%Vr9c&xZs'c }4hMwO3y
[/code]

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

数学好点就很容易的 }-^a1c}e0j6g
像我看起来就一点不费劲.m (25). .m (25).
6zOJFr%[q
4_ D}APg4B 怎么说俺靠了这个去全国竞赛呢,嘻嘻,现在不行了,老了

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

这个东西完全是一种逻辑思维能力,我感觉,我在这方面很欠缺啊!~~~!e Z-F2yb [U;L t|
写程序真吃力!~~~~

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