查看完整版本: 编程动动脑 Vol 2

极帝猫 24-8-2007 04:22 PM

编程动动脑 Vol 2

我又来出题目廖 ;P ;P
&VT%x'o|-QUoB 这个是超简单的啦,哈哈~ @$@t _H"?
"x4~~0OZT,`
写一个 function,
&Kh1V4sl#?#F 如果我代入 ABCDEFG,结果要是 GFEDCBA
$}VR&z+ku 如果我代入 1234567,结果要是 7654321*i5jq3v4b2Ikz
如果我代入 FUCK,结果要是 KCUF ;P
H0\G"\8K9^D$Oa9c
J-m'N|~+t^6o 用任何语言都可以,来动动脑吧 :lol: :lol:~~.R${2rC#D\
不过我的答案是 PHP 的。:$^k5d6MrV
:XKvsqJ(Oh4_V
演示:[url=http://file.e-dyn.com/alphabert.php?x=ABCDEFG][color=Red][b]http://file.e-dyn.com/alphabert.php?x=ABCDEFG[/b][/color][/url]

极帝猫 25-8-2007 12:39 AM

南院电脑系的,太不争气啦~~:onion71:

天行者 25-8-2007 09:23 AM

回复 #2 神仙猫 的帖子

==+ `)C4?4ZG8hn(Q&oT
激將法

极帝猫 26-8-2007 12:34 AM

回复 #4 sycsim 的帖子

阿姐,感谢你的支持~~:onion66:
HR3TM8p-uh)I 哈哈,阿姐的写法和我之前的一样~%IW7D!S^ K i(\D
嘿嘿,很多人都用 For Loop。B0F)t9P2b'iBC
看谁和我一样,尝试一下用 While Loop 来写~~;P

靈琥 26-8-2007 11:31 AM

用while loop是不是这样
P0f i;Z4@r%[0T/`
EVK)z _%g [php]<?php
u q?3\5g'Z0X $x = (!isset($_GET['x']))?'abcdef':$_GET['x'];
6?3Rzaw&X-e%|w#XU $ans = '';6M*WK@ z]9d
$count=0;
(wR\9P| while(strlen($ans)!=strlen($x)){ W9O7xC `r;g c I
   $count-=1;
?-H5o}odR a c@ Xj    $ans.=substr($x,$count,1);'e?[/QS7?Q"^
}
8{,b"q7h3OZ Q echo "$x = $ans";
c,uOq;H ?>[/php]

极帝猫 26-8-2007 12:31 PM

[quote]原帖由 [i]靈琥[/i] 于 2007-8-26 11:31 AM 发表 [url=http://www.e-dyn.com/forum/redirect.php?goto=findpost&pid=425522&ptid=29019][img]http://www.e-dyn.com/forum/images/common/back.gif[/img][/url]
#?T3Kz'h,]+NEp 用while loop是不是这样3K mrA0G1He:a
a9T6di$o)A m @
[/quote]LmEz7[;A.I/b"JT1i
%g3J1W Kk? t6s
感谢支持~~:$ :$.H]Nw d1u%{.}r
不过题目是要你把它写一个 function 哦~~;P
(fi;JYZ0l 把你的程式改一改就对了~~:victory: :victory:

极帝猫 28-8-2007 12:19 PM

我的是这样~~ ;P ;Pm3E#^-{+}y,w4q5O

3F$S5N1L7lc [php]<?php3|D2L3o@LHgA
;G2{/V{1f5N
function transform($str) {
cs,w'qJ~0`qA         $return = '';
I7dG4m d6YN-lW         $i = 0;*RV)Ix9ao7}H8\,gz
        while(isset($str{$i})) {1dJ` vPUX
                $return = $str{$i}.$return;.H;H$K n)y&[*c
                $i++;
iY+|%[ek         }]ZX9d TZ'n!Dl~D#H
        return $return;7C _Nl1f6G-bh%K
}h9FZO+J(q4B&Nx
,x3Pd-xA F2^
$x = $_GET['x'];%U^|X b6O
$y = transform($x);
qSp([ vkd 6y5Ef/au+G
echo "INPUT :".$x."<br />";
ImX;oC@ U_,@4b echo "OUTPUT:".$y;l^)s v8m
8C^L.c'e\,n@ J
?>[/php]
!F@4T r i Y 7j[TMmY
[hr]deeppink[/hr]
.k)bj*T&K.v5C 接下来这题是冲着灵虎兄来的,哈哈~~ :$ :$
X6J$KYs:ZL 不能使用任何 PHP 自带函数,把上面的题目重新做一次~;P ;P
~ N"xY$Rv +Gx8uqg/j/b/L N
就是说,isset,empty,strlen,substr 这些 PHP function 统统不可以用~~]iX ?#}4G;n
当然,也包括 echo :$,哈哈~~
*S+Q(J [*BP*T 这题是我朋友出的,他说我的题目太简单。。:onion71:
4m6K1Pf8p.Od 哈哈,我想了很久很久才做到~~!!

靈琥 29-8-2007 02:22 AM

其实这题要用一行写完也可以
j^!T/q ~'g-`F [php]5@|pm1`3k;?f
<?php
&T[%m XU echo strrev("abcdefgh");[A2x5sW-r3h"Yz
?>
_!O(R_'^1DI [/php]
M[yQ5N'Un 用php自带的function会更加快3]"t[H(t&U0I,l"T
p.s/是非常的快那种
H z-Q%l.x)d&I :zx/r8`g TtcP@
mH,yp:c+kAd6w`
既然要用最原始的方法写。。。拿你的code来改一些 J^3wn@sUy
[php]
'X*|#K5y0S5lY <?phpl |[2]0J
$x="abcdefghijklmnopqrstuvwxyz"." ";!u:GN^ a
&n7C6~I}tW
function rev($r){
I#cO'w sh V6c     $final = '';
HFqDE!z$b:N9P-O     $i=0;
@IE*ae/]*C     while($r{$i}!=" "){&z1^(VS%TX
        $final = $r{$i}.$final;
3j7q U3b:GvThC0~         $i++;9O'MT.k5D.D7~}2u Sn2`
    }G?@ozl)`0f9^0g
    return $final;1`G+n:[f$L
}
+\3{4E0S!fG@'V{i~9i
#u[s!_@-Q echo "$x => ",rev($x);)Ba RO:bM
?>
qY Q,F%d'F-| [/php]5qc5G FA/Jk"[)T
这样就解决了
'j`xU]e!Ag qL%X
8^1f#S$gC:W 太夜了。。我懒惰去想
l*pl5iy Ub 暂时回你这个答案(是有一点敷衍,不过真得很夜了2:23am)

极帝猫 29-8-2007 02:27 AM

回复 #11 靈琥 的帖子

啊哈~~,原来还有一个 function 叫 strrev ~~:agree: :agree:
K ~9_U8HwN 学到了~~:$ :victory: qobUoj
v+RMt6f |
echo 也算是 PHP 的自带 function 哦 ;P ;P4tr:yEi A W-|a
嘿嘿~~

靈琥 29-8-2007 12:39 PM

:onion38:  ......u b Vt1f6J1f@gq
:onion14: :onion14:
}gP"F a 那就换成print咯。。不要那么挑剔,都是一样的:onion58:

极帝猫 29-8-2007 12:54 PM

回复 #13 靈琥 的帖子

写在 ?> 的外面,换成  <?=$x?> = <?=$y?> 好了;P ;PI"g!@0n4@f'r,Q%B
哈哈~

kuroro 29-8-2007 02:33 PM

任何语言都可以那就来段bat吧 r{w/GFk
*y:F+C/q6`csN'W
[code]@echo off & setlocal
KU*u}N/}Q2O3M
V$\`#`"T.\wx3\ :begin,jMa&h0M
set/p str=请输入字符串:
eU"gNi5olW call :strrev "%str%"
_*O(Q?DoR`m REM call :strrev2 "%str%" //或者用第二种方法调用,不过这里我随便写的,没判断字符串长度。|.Gi.q$gK,sd[
goto :begina}j wjlm-Fi
exit/b 0
K5[r1B L~L?Q 'BBnP P
:strrev
.QP-Q [t set str=%~1
8w'anB^ZI4i :loop
B*DC l&\ if %str%#==# (
6mA#K x7W     if defined revstr echo %revstr%
*TSSX7nq     set revstr=\a GV2xJ
    goto :eof.cUvHR o.vg
)
hlD$G8fx5r Z `p set revstr=%revstr%%str:~-1,1%
3JV M7FT t%Ih#`8K h set str=%str:~0,-1%2B*Q2k+R-U$w0o;x
goto :loop
6b"r'F'nHN0Q&I6RB
jbT6BP v1~9L :strrev2
cq)HK$l} ^6a set str=%~1
k3o)ce.kP bPrd if "%str%"=="" exit/b 1
%@x#JaVl8K for /l %%l in (99,-1,0) do call set/p=%%str:~%%l,1%%<nul
5G?._3wn"Q k*B set str=& echo.[/code]

天行者 29-8-2007 02:44 PM

对我这外行人来说... k!TNGF/b z.C$W
比火星文还难懂:I:

极帝猫 29-8-2007 02:59 PM

[quote]原帖由 [i]kuroro[/i] 于 2007-8-29 02:33 PM 发表 [url=http://www.e-dyn.com/forum/redirect.php?goto=findpost&pid=426541&ptid=29019][img]http://www.e-dyn.com/forum/images/common/back.gif[/img][/url]7{Sr(f i3C A @2A"N
任何语言都可以那就来段bat吧
Kz M)|F O
6A^^JH m'} M @echo off & setlocalk:m~Tt+Z;O `
e3H1wz|)s4L7V$L
:begin
@P'w8O"pw q set/p str=请输入字符串:
)X b[#r0Ip call :strrev "%str%"#D*E+a4Y6o*@EF
REM call :strrev2 "%str%" //或者用第二种方法调用,不过这里我随便写的,没判断字符串长 ... [/quote]DM_E-J({u'p

_:eH)Y S3_"M[ 哇~~@@0K1Bm`H])q1Ek
古老的 bat 编写~~-t,Y2@%Mv_"~#k lb7P s
厉害厉害~~:agree: :agree: H2v;?Ht
不过我没学过,不懂~~:lol: :lol: v1c2JF hF,t0Z
"[K1j;Jc+P3l
[quote]原帖由 [i]天行者[/i] 于 2007-8-29 02:44 PM 发表 [url=http://www.e-dyn.com/forum/redirect.php?goto=findpost&pid=426555&ptid=29019][img]http://www.e-dyn.com/forum/images/common/back.gif[/img][/url]'oZT/Wb(r:d
对我这外行人来说....{#\l0@!M4s!?{
比火星文还难懂:I: [/quote]:\G7j&b-kg
l_0cK e)i/c
没关系,有你的精神支持就好~ :$ :$

靈琥 2-9-2007 10:33 PM

[quote]原帖由 [i]kuroro[/i] 于 2007-8-29 02:33 PM 发表 [url=http://www.e-dyn.com/forum/redirect.php?goto=findpost&pid=426541&ptid=29019][img]http://www.e-dyn.com/forum/images/common/back.gif[/img][/url]
6fZ Pfr${ 任何语言都可以那就来段bat吧3S0g%L2G9Qz DI1hg5{
oo!X:LI(T4m h
@echo off & setlocal
"K/Nwpl*T Rq-L y5|E9I1M(H5u
:begin
jA2xF@L$j set/p str=请输入字符串:
V'SAl Z'a call :strrev "%str%"_pMI5CJ5M#F'F
REM call :strrev2 "%str%" //或者用第二种方法调用,不过这里我随便写的,没判断字符串长 ... [/quote]
;|.[g ^M8TJ9H'w ;{ L-]6a#_5y2D SZ0F
:onion60: ;lP&n.u/zwL

:n%c([9ku 强人。。。。:onion68:
%h&?8kSB"IH \ s3F 改天有空也去学学来写:onion58:
页: [1]
查看完整版本: 编程动动脑 Vol 2