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

黑客学习

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

阿呆学习题目

现在又开始学习了,我从一名老师沦落为一名学生了,比过说实话,我还是挺喜欢做学生的,现在初学C语言,NND,一个破题目,想了我一下午,改了又改,改完了又编,编完了又改,哎哟,我发现我的逻辑思维能力真的不是很高,下面我把其中一道挡了我半天的题目发出来大家看看!由于我是初学,所以觉得,真的是想死我了!
4R!U$kWX*]
k9H5eA}y%G+i6t%U 题目:5|Rz f jQ1W
O'\]7g H
编写一个程序,要求计算出生日到计算日的总天数$pE4w'r7d_m l
算法:
2OK-^h)j0VH 1)输入出生年year1、月month1、日date1和计算日年year2、月month2、日date2。D_t?3w]!K#F/U)h6N%vk
2)统计year1到year2-1的总天数;
/m'L2k@{ 3)计算出出生日和计算日是当年的第days1和days2。    G(]#@W&Y{8i
4)总天数等于days+days2-days1
8s.{u&k$P { Y 根据结果,判断体力、情绪和智力状态0n-P*?5p:Re S5`
     方法如下:
r[s5r2I)_TEQ        体力状态:用总天数除以23,余数在0~11为体力高潮期,否则为体力低潮期。
~ri#R:PI YX        情绪状态:用总天数除以28,余数在0~14为情绪高潮期,否则为情绪低潮期。
;q'YuTEX        智力状态:用总天数除以33,余数在0~16为智力高潮期,否则为智力低潮期。hC)I$C%D*]d'UT

*Ug!TR2o+D(y 我自己写出来的,哇靠真是想死我了!~~~~~NND,死了我成千上万的脑细胞!E8^0b|)K KZ"V^PD
[code]KZDn,xF{^a xs
#include <stdio.h>
N#_9g&?~~r int day(int year, int month)
$ED#p[%S VV {O i-HNh5bpZ!D u;{
    int days;E,I!e+t0e QOH'~$G6Ma
    for(int n = 1; n <= month; n++)
;sY(])e5E#s:Y     {
MF(q6s u`-_.^         if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
7t|&B(mk         {
X/QAhw;c"p             switch (n)'V7W{V-b
            {5y9\O'g@%k s
            case 1:f/j#tz_*T0JpSh0j&W
                days = 31;
tvJy R i#F,r                 break;7TX0hZg``R4A%p
            case 2:p7S2O&Ur
                days += 29;
7Sb8B])l9`;F`                 break;i.mK"K-P;G
            case 3:}5tKw b1^x1yp
                days += 31; a ~9ik v8r}5n
                break;y1\z,|H,Z,v!XW
            case 4:0atLq.HD;m
                days += 30;
yt2l |;K C                 break;
s|Me(_2]I w0x2?             case 5:&Z-?&h)G0Zq)eM
                days += 31;+Tz(yw3Q.tql!D
                break;-CZ7Laa6X:b
            case 6:
V xs2x+eQQ6U                 days += 30;
J#_"tv!U9~3I                 break;3db7E;H$s
            case 7:(^e1? @%u+bzG2H
                days += 31;T|8f wod h-f
                break;
R.^!Y0h{:C{             case 8:2lB;e:sJT
                days += 31;O ^,E:y BH+o2_c
                break;
p;^f \'U D@ eW             case 9:;{,`(~*LHj3g,z
                days += 30;
a XhE:lh                 break;
T%OnH7Bi             case 10:#QQz(R6W,t+aV'l
                days += 31;
_.V a&yR }[                 break;
g`}9Y6is1D!As"fr             case 11:Eut*m a_.M["EB
                days += 30;
[,t!ej\$E-t                 break;!@eG9z \
            case 12:B |2T6Syf2S
                days += 31; Lat7J2Bw
                break; p5V%Hw(M s1?}ev.j5t
            default:
x;P Iw ZuS                 printf("您输入的月份大于12个月,因此不合格!");l#|L{_p,O
            }
)a8~}0e'R^5s         }:g4@ \+n7P| A,q
        else#Z(o|ME"SLC
        {
Z!K,E K n,?3_|             switch (n) A&U7u-h?'Ko
            {
e+@ P7T'WS             case 1: }x&{+[)S~o
                days = 31; d&pBPb
                break;
+S3H j|p/^B             case 2:%aN[/CW-ro*cIq
                days += 28;
,Qw R6I#R5f&y(v w                 break;9pcgho%Ss#I
            case 3:8x:N*hTS`Y de
                days += 31;
i2]-N(Nq~9A9g                 break;
n!q%OS^e-S             case 4:2n^8~D7` \ rI
                days += 30;2I+t;ph7I'M"` A2I o
                break;
6Jo.`5^`0O             case 5:
(s&U:Kk c3j:p(p                 days += 31;
A&Hz*Zz(c                 break;
#tKl pbOX             case 6:8ZL U*ZVj0D
                days += 30;6h _8Ub/d_&F
                break;$c5N\!a8Q
            case 7:
Rs-cT)@9W#o6c.h                 days += 31;
IhKg]z~gI                 break; J/zC@7S+SJ9A
            case 8: ys)L$U!n |8l3k(X
                days += 31; l.d%c{1Q @ ?vo
                break;
&V%@T/\8{t1gA+u             case 9:v5S/}Xw%I;U @-lwj"h
                days += 30;?Ftk.E*W]V
                break;
C| ]|l~;[             case 10:
"~,Ms)@]0K                 days += 31;
wX,Q v a JvI                 break;
1d)d)o#Ic9XmJ             case 11:
6GUq+Ggp hLR                 days += 30;N.i)WqIa1Hg r7{
                break;6I x!l&ZT y2UUq(e
            case 12:!N6W4dj m2BA%F
                days += 31;
G1d5q%H Ra!PHU\K                 break;mM(t8pD,TM
            default:C _`^G(?.V~X
                printf("您输入的月份大于12个月,因此不合格!");
/dWtBABc             }%~*_.KtQ]E$V {
        }
B|_G Wu     }
n,ZMhL3YZy+a5EK     return days;
ljh![Z)[ } s+i7FDv
nRPw&F:^
void main()2|K'of+aK0v
{*c-ci*mE8\L9v v
    int year1, year2, month1, month2, date1, date2;
t)^-} BT$o|x%E J     int days1, days2,alldays;
({f/MXG,Z/n2L     printf("请按格式输入出生年,月,日:");"\ p#Q(ukN
    scanf("%d,%d,%d", &year1, &month1, &date1);
4z-vWs0k P     printf("请按格式输入当前年,月,日:");G[i9l D{!n
    scanf("%d,%d,%d", &year2, &month2, &date2);
(KfV]Z uR!`M     days1=day(year1, month1);
C4rEZ,@c [     days2=day(year2, month2);
.G^2x!r*g RD/sQ     for(int n=year1, days=0; n < year2; n++)
d IM V ^3F     {#^)p^X,] c'z
        if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)!A]9~.c*^Wdm,E*i
        {
sk2e#pj*_+V             days+=366;
2RE4B cf:E E         }
+Q&aP{/]u!r'P/Rs         else
7a*mU/_Z ^U         {
*\)H,^E&W             days+=365;
?X4lV$kO%vw!j$?F         }
dd'tU4qL%i(c     }
c4x3},g H } ^7m9uQ8l+zf     alldays=days-(days1+date1)+(days2+date2);
az2S&BV+omx0@&y     printf("==============================\r\n结果:\r\n==============================\r\n");S&k8TXu,k;I
    printf("从出生年到现年总共%d天。\r\n", alldays);|F{@ Zsk:pk
    if ( alldays%23>0 && alldays%23<11 )/wz}1e2N?2]
    {(h:b8S@e6T9V/h
        printf("您现在处于体力高潮期\r\n");3z4V(Rb0o P%H @
    }yJ] Q~5b ?.V/i
    else
|6E'U.\4\:G     {
USJ,vCYDq:p         printf("您现在处于体力低潮期\r\n");n Y.lb\(Z7p-[ KzE
    }
].T.[3g k     if ( alldays%28>0 && alldays%28<14 )
Jzuvim%M*M     {
8[U A?&\f:E         printf("您现在处于智力高潮期\r\n");
C_8m _I(T"M$}"Jx     }
)Y T^2|{F+Q     else
$iI+@4PO!Z@4a1S     {
;r$lHH|8x-B-a.y4a         printf("您现在处于智力低潮期\r\n");@7P"^scj
    }a%ig.|$f6}l
    if ( alldays%33>0 && alldays%33<16 )a I Ge H%tEgf1XH
    {
J2s bm:Iumq         printf("您现在处于情绪高潮期\r\n");)mZ_{k{8X
    }
^o:Fe8t@     else(kc&gh,p2s \)la
    {
%g~S1` ?s*Jrq         printf("您现在处于情绪低潮期\r\n");o ``?!_ ^?:R9X
    }g I Ue9m0Id0z
}
#^5oJn8};_&N-D [/code]

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

数学好点就很容易的
` qak'J n)Q#v 像我看起来就一点不费劲.m (25). .m (25).
Zpp&l lG v9b
[5@ l2?.t*qv"N 怎么说俺靠了这个去全国竞赛呢,嘻嘻,现在不行了,老了

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

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

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