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

黑客学习

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

阿呆学习题目

现在又开始学习了,我从一名老师沦落为一名学生了,比过说实话,我还是挺喜欢做学生的,现在初学C语言,NND,一个破题目,想了我一下午,改了又改,改完了又编,编完了又改,哎哟,我发现我的逻辑思维能力真的不是很高,下面我把其中一道挡了我半天的题目发出来大家看看!由于我是初学,所以觉得,真的是想死我了!
II%j0Wn
C$q-c.z9Q%KQ 题目:
b}4L&Z3g3J'S y8w B/cI9u]
编写一个程序,要求计算出生日到计算日的总天数
siF ~X-b1_8o-_ 算法:
?])u Zb5u/fL ?:p 1)输入出生年year1、月month1、日date1和计算日年year2、月month2、日date2。u,|\5XI4Omsv
2)统计year1到year2-1的总天数;
&S4R6Nj;blG 3)计算出出生日和计算日是当年的第days1和days2。   
+E OIp l 4)总天数等于days+days2-days1;] gl(A.a?y
根据结果,判断体力、情绪和智力状态
(ui b!t+Vp {,?      方法如下:aKDwe9d-H#N
       体力状态:用总天数除以23,余数在0~11为体力高潮期,否则为体力低潮期。
WYB]|{C}d        情绪状态:用总天数除以28,余数在0~14为情绪高潮期,否则为情绪低潮期。
hP | S$vJ pk        智力状态:用总天数除以33,余数在0~16为智力高潮期,否则为智力低潮期。
a4Tu1j/T 8]9E;E'}Z7t4~Y+h q}
我自己写出来的,哇靠真是想死我了!~~~~~NND,死了我成千上万的脑细胞!
S(N:w^ P [code]
{/G,DD+_|7^6B #include <stdio.h>
/m]H1R7Cs0Bmq9U int day(int year, int month)7rkL5q)B3l9\{
{
+i"YH0c3w?B     int days;
y-`kH/C)D5gu)c     for(int n = 1; n <= month; n++)4{tBe0SZ
    {n|9U ~~NRz%C
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0),X:U+n,my,Qc
        {FB6^h+al1gS
            switch (n)
$| f'v)IH1m6x'Y             {
2V L \f H             case 1:
\c$zw*rZc/q                 days = 31;S's'NzOg9XC|*X?;A
                break;
VB,v0T:a#\8e[MYq`             case 2:'o\Z:e-jwd
                days += 29; TI O/f3x q B \
                break;
5U8Tua9p1uY,H             case 3:0g*]b7b;mK"?-Yavz
                days += 31;
xQoN(e-D.OD#K                 break;
D"M:f.dk|6t             case 4:
$r SJBV'o                 days += 30;
JEh1K)SO3v^                 break;
GA`5Ufv#m3s             case 5:
K b_H&j$b\6A a                 days += 31;g] ?u"Xd
                break;
c$_,Z:q*Nn Y             case 6:
QvBE(BMc` {                 days += 30;Cve*fN ?"sH-J7ux-?*y
                break;#D1J0j XW*e$[
            case 7:
xw/SI v G                 days += 31;n:n5D1d_:sTu
                break;
oA/X/VeVk~{ ?2S             case 8:
uQ\1f6H                 days += 31;fqSoQg'oM|N
                break;
)|"o4Ar9ksK h             case 9:LH9~p _Q,}5HZp
                days += 30;"EC)OI.f ]
                break;
,FC#W_ l mH!CHkh             case 10:/fC&}d3dy7e,z
                days += 31;
I9kt c"UyS\                 break;,i.PzZ,rC#j;Gm x
            case 11:
n{1[ t8l;n                 days += 30;B \"]`b)c
                break;
*\$n&XxGX:~r-Q             case 12:
,IH|;rn#F J                 days += 31; |7c'o"P9v7Wp*h|
                break;
"x-h"{o(r^             default:
*|!cF5J4aasNY'C                 printf("您输入的月份大于12个月,因此不合格!");
:v-JH?6[$[h             }vTQda O-?
        }:UhCN^ ]
        else9CdKZ5E p+yc^
        {"m {C)R0UKM{ y
            switch (n)2K9vQ W;I1C e
            {6p3{2gzT*O
            case 1:
-wg bo aSdyYiE'I                 days = 31;
UV1ra/z/i"r/K                 break;
z]qcR)y             case 2:
&?;X&N Gd#_vys$D                 days += 28;aK3q(QI Ua
                break;6A^i2m y3_3Kks
            case 3:2sfbMc
                days += 31;
PNS ^2I&aX                 break;et:M\'F{'h"An k h
            case 4:
Nm \4j1_r,i]V                 days += 30;~Qy$P _m
                break;? jJ0A7qt+m @
            case 5:
)WnI:fB*O+c(o                 days += 31;k!ZF9t[| j
                break;
T(b@5^6].O             case 6: ~*U+kt"b X/`
                days += 30;
_4za KF0nIm                 break;
2b pm1q3`{)`$T             case 7:'C&RTR5y7F.b;e*`x
                days += 31;
K z^T8R1P'h&g#L&q g                 break;
&t!h Qk&r0d\l             case 8:
u4jg#Z5[+^ u#`Z W?                 days += 31;:P.R.e v!Y @
                break;
c)nR*^"HS.TT             case 9: x Y*t5P"L`8a
                days += 30;1T!{5lgq
                break;)M+U1j3^3H W
            case 10:
n;a9d T!`au,~ V C                 days += 31;
,k8w(poP-HC5a                 break;)yAs Cux ?
            case 11:1V;_y,pF+}'?iD1D
                days += 30;
%?3N-H`1i5U\                 break;
q4lAK0y Yo_ m             case 12:
f0bcTum?nH                 days += 31;h"x^N+z3{H!T\
                break;
+V i*v iae O`yN             default:-}A;O `d+Y ]
                printf("您输入的月份大于12个月,因此不合格!");
b6K-Om:aa2x             }5c0{C0r$Jl8^)x
        }V&E'p5?1~u
    }
3|D4k cc2JDd:H     return days;&d$U)?V/j B{#F
}'C4q8b!S K1h{X+}^

vL~jd#U[R void main()n4P0R"b2B9K
{
-t_{?$Uj     int year1, year2, month1, month2, date1, date2;'jL'i*F6IMq}MbP
    int days1, days2,alldays;
9cA @$Fa$` gr&x     printf("请按格式输入出生年,月,日:"); w+z{@$@@
    scanf("%d,%d,%d", &year1, &month1, &date1);m)J1h e;O4t
    printf("请按格式输入当前年,月,日:");V7pA|I_:v
    scanf("%d,%d,%d", &year2, &month2, &date2); OBN+b?#f.\`
    days1=day(year1, month1);4rB|8h/z9[ ^
    days2=day(year2, month2);*C3q[$Yf
    for(int n=year1, days=0; n < year2; n++) z Sa(Z3l6k%i%kX:p
    {} vgs8l5L
        if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)
vv4W3SD d/H9e         {:{MX$qbP0_t
            days+=366;
!Ek6|.]grp.Z a         }
`9L1BK C         else
O9q8sI6{sC+m6UbE.S         {
6N] k,d{Vw1V:L             days+=365;jmF |&e+t1O1Al
        }td8W^ V p y
    }
2Ut%|G rdG2zZ     alldays=days-(days1+date1)+(days2+date2);
IxNy.IL5[Nj xG(M     printf("==============================\r\n结果:\r\n==============================\r\n");q0h"jJ4jiM
    printf("从出生年到现年总共%d天。\r\n", alldays);
`"~,I+W+\F!S     if ( alldays%23>0 && alldays%23<11 )
-Ei k7^aq$tu\     {
5q3B JGwc8F?#Z         printf("您现在处于体力高潮期\r\n"); y k2P&m;Wu"d
    }
4A6r9n~$L     else
V2TtZ#P*q%A em;t     {C_{~/Ac!u
        printf("您现在处于体力低潮期\r\n");
C8z|zL P&M"oS     }S%R Z/~cm)v
    if ( alldays%28>0 && alldays%28<14 )
0?,[6~,zK     {Jdh Ztj
        printf("您现在处于智力高潮期\r\n"); zny8HwC+cl+R
    }
1@"uU,N4\v     else
J!?O Txb@({y     {
#jl6u6NF'bEJ i         printf("您现在处于智力低潮期\r\n");$M8i,oXBT/yq
    }
d(E c d]s#d     if ( alldays%33>0 && alldays%33<16 )Ym1l/g1VV;@
    {
1YSNi&V?G         printf("您现在处于情绪高潮期\r\n"); ?0L;\;] ~&a1n~ [Z
    }'ML t+@x2T
    elseh4X riiO9^
    {4txKZG2V#q["Q
        printf("您现在处于情绪低潮期\r\n");/B+b#Z+mB\
    }
8|Era,LU }
v;kk-Rh| m[ [/code]

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

数学好点就很容易的c3DMZL
像我看起来就一点不费劲.m (25). .m (25).
wu8oNZ;K ?*T !L2@ o,W+_MWY
怎么说俺靠了这个去全国竞赛呢,嘻嘻,现在不行了,老了

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

这个东西完全是一种逻辑思维能力,我感觉,我在这方面很欠缺啊!~~~
[&@w? Gzq/c 写程序真吃力!~~~~

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