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

黑客学习

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

阿呆学习题目

现在又开始学习了,我从一名老师沦落为一名学生了,比过说实话,我还是挺喜欢做学生的,现在初学C语言,NND,一个破题目,想了我一下午,改了又改,改完了又编,编完了又改,哎哟,我发现我的逻辑思维能力真的不是很高,下面我把其中一道挡了我半天的题目发出来大家看看!由于我是初学,所以觉得,真的是想死我了!E}h`2m/j

Pc@ Zm9X` 题目:
FMF8}"x4Y9jl
f(f k(\kxF 编写一个程序,要求计算出生日到计算日的总天数
kd,d#z a N'_N C 算法:
5Y:Q+K'Lc 1)输入出生年year1、月month1、日date1和计算日年year2、月month2、日date2。
$eUNG7v:zj 2)统计year1到year2-1的总天数;
Z8]:`$}#|*f L 3)计算出出生日和计算日是当年的第days1和days2。   
ge9YgG%@5H.T _p 4)总天数等于days+days2-days1q!}0m'i'GO,^1Yy
根据结果,判断体力、情绪和智力状态7`&q2Wz/]u.E%`$x8S
     方法如下:6h,x#L?$Bv
       体力状态:用总天数除以23,余数在0~11为体力高潮期,否则为体力低潮期。3Q Y0F5F(q?g
       情绪状态:用总天数除以28,余数在0~14为情绪高潮期,否则为情绪低潮期。
Rq]b4`        智力状态:用总天数除以33,余数在0~16为智力高潮期,否则为智力低潮期。
#d2O{y7^9sBT
9y.NX|H;K 我自己写出来的,哇靠真是想死我了!~~~~~NND,死了我成千上万的脑细胞! \?S-haCkP?`5w
[code]4p8A,`0W%}V!u
#include <stdio.h>
BKK~-`6Eow int day(int year, int month)
dnp {7]OVb {
#bV5kp&L"R^     int days; r @ ^Tark.a
    for(int n = 1; n <= month; n++)m2pZ$tB0F K B*b
    {]YXecv|x6J
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
] yYa f"S         { {fx |@Z#F1[g9o
            switch (n)#{?leru(J9o#[
            {
BM#p.gv;k4@             case 1: @gF5_~s8\j#U^
                days = 31;@.v9]9V:m f
                break;%Mn:P;~4?,H]
            case 2:
|a+wgR!O.U0u._z                 days += 29;
E3@s0M5A/L2M%zl_                 break;"Z-v*TpNS[x
            case 3:@ Vf;\-|?R
                days += 31;/V6t1r:]q*w"u
                break; N2W C:IKftl7h%[
            case 4:
b'E1G$I;y;A,[k/n|                 days += 30;
e V0C/?8d                 break;
/K'z;xu[f$Z             case 5:
}\wl9O9~                 days += 31;M\;c b A'U,g7i G
                break;/Y+| X(z&c3|YqFb
            case 6:L'zXTn)h3z
                days += 30;`/i(A?@1h
                break;
8Vj8mfQ2DP             case 7:IA9m1T^$]8q:l
                days += 31;
]l0b*kb                 break;M-C+C|r5@/FEg @7pw
            case 8:VXv'P P2|.X| fj
                days += 31;tEo'b&`B-t?
                break;3k#} ~0K-b6L
            case 9:/S)a `|#L P&v
                days += 30;"y {q?ek$c4Y
                break;k!c#QtM]}G#i
            case 10:
_-[$I{$~'}v                 days += 31;$Fe \8Pw6z N
                break;
xd S-R&CH/Y             case 11:,]St]@
                days += 30;
i Y d#^#zH                 break;Sf"k N3K }3s u
            case 12:k6k[)]5L9R8g
                days += 31;']pyk;[W,lT
                break;
4t%` f0Jom|4Y i,Cn             default:
%A| m8s/O~                 printf("您输入的月份大于12个月,因此不合格!");-G bID!@ `%F&v
            } Yw~YY)P Ypv
        }
8n(kORzG@+ka         else;?N.Pf {;T7wX
        {
,m^#_!`-? }             switch (n)
K } ~'v+EH~             {t"coZ;hH
            case 1:$gGts(~ c3m
                days = 31;7aryD;wD&P:P
                break;
zu-c_|             case 2:
X#FkqY+x                 days += 28;
1Wdz/YPF^                 break;
6C#@B%Z0x$S*r%Z!Y             case 3:
EHiWiQ_                 days += 31;
j wqm"}                 break;
/\4nqd,d5hwq Wg             case 4:7q K&H)`REx!N$w#ph
                days += 30;
'{vR$`1A1]                 break;U2s6R3Gr DY
            case 5:.J4G L`4CwC B^
                days += 31;
+NH LH v%t hk                 break;H5?-BfC\H.A
            case 6:
L|1bR#J9P                 days += 30;
,LQ!KJp/X{!E                 break;?1RsO-W7C.O
            case 7:
G(_2O#X k6l8B                 days += 31;
A#?9U8^.Atc2N                 break;:O/tUX!B x2H
            case 8:{Jz$gv#E
                days += 31;%[^ K]4q-@~
                break;nGW.Z&jI.TP
            case 9:!F2I1~aj6?%OB
                days += 30;
\*X+s;Z'X,J'Y                 break;
X;~a+_;u'g             case 10:
L:n6GKHw~'bZ&K(D                 days += 31;
z7a9|!Kt p9Fvy^                 break;
$xMR @,~*fDsF             case 11:
*~O-oXbNM,x%D6_                 days += 30;
(Y`4s_v\6SuW#X                 break;j4E2rd1GF
            case 12:/~h,yLV/O%uZ
                days += 31;kI?1X w@O2A:ux
                break;w,lH8j.l4E
            default:
\!U&YsFc                 printf("您输入的月份大于12个月,因此不合格!");m-I6R_oMcB'~-c
            }
%a^ @;G cJ/O#u J         }j'Uu8z`5I8z7A
    }lAVn+r:Y$\5d
    return days;d"o.ub+`#VHrH9w
}(B3m}J-V4k6Rz
K3K;H]C;]9[,|bA a
void main()
7b^ GY7}{2t[_ {!}VRv2h.C[5SIw0fd
    int year1, year2, month1, month2, date1, date2;Y c G4yH,_2mzN.k
    int days1, days2,alldays;
I4`c2NH hA{'bPW     printf("请按格式输入出生年,月,日:");]*m%nL D`/et
    scanf("%d,%d,%d", &year1, &month1, &date1);5E4L&^i0M7pvUh J6@
    printf("请按格式输入当前年,月,日:");
p(M y8V/Uh+i     scanf("%d,%d,%d", &year2, &month2, &date2);i%\,L:e;}g G'J\P@6bm
    days1=day(year1, month1);rqh"pFT }$u$ilf
    days2=day(year2, month2);Ru\NW_d
    for(int n=year1, days=0; n < year2; n++)
8s Oe#a7g/|ZS.[     {,^;R%wKzO-Fi^-s
        if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)
@Io5c*{         {&Br Xepg
            days+=366;
i!J9~.x ZE D         }
-ETH'Xbs         elsepM1E6A:DZw^:zk
        {
~%jhi%e4W RT             days+=365;
6R }"z HG,Z`         } J5p[,L&g,KJ/B
    }`+U&@3we"g
    alldays=days-(days1+date1)+(days2+date2);
+\T2U{ p jE4P     printf("==============================\r\n结果:\r\n==============================\r\n");
{$L9r Zd$}     printf("从出生年到现年总共%d天。\r\n", alldays);
M n uw"?~     if ( alldays%23>0 && alldays%23<11 )N?K8k&?^K6Ws
    {
:AB*s-B_(v9h         printf("您现在处于体力高潮期\r\n");lzb |h7t?
    }
*ol5b"vb`     else
ze(~w5h9j L)OZp     {L4FwR cPt s
        printf("您现在处于体力低潮期\r\n");e,G z8t^ k-N,B6T(x
    },tMw*G7B
    if ( alldays%28>0 && alldays%28<14 )
B7y7pwb%dua I     {9n2MX F(b
        printf("您现在处于智力高潮期\r\n");
0d%Nph{Tn     }
JN)m7k-tW/SK-E     elseO7K%xid`j4M
    {Z:]qc"`-J"zOh s
        printf("您现在处于智力低潮期\r\n");_I Yp)wyx h
    }`t6|Dj*~!s9m
    if ( alldays%33>0 && alldays%33<16 )
_ u0yA6lQ     {
:V6d?6L3{S         printf("您现在处于情绪高潮期\r\n");*Nf'GK?E
    };R ^qB\#\T
    else
l Z5m'J6V P'b2g     {l2Qfm[DTl
        printf("您现在处于情绪低潮期\r\n");
Zz$?9K3C uF     }GFs%c6np E
}
:B0|/M7I JW [/code]

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

数学好点就很容易的%k"tlN)PQ'l7ip
像我看起来就一点不费劲.m (25). .m (25).
m3Lzec,kk
;G'O)h-| [Y{#Icm 怎么说俺靠了这个去全国竞赛呢,嘻嘻,现在不行了,老了

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

这个东西完全是一种逻辑思维能力,我感觉,我在这方面很欠缺啊!~~~
R9a3tGS X$P 写程序真吃力!~~~~

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