来源说明:《跟老男孩学Linux运维》Shell编程实战

说明:对于每个脚本,用shell编程的同时,我再用python实现,达到同时熟悉两种脚本语言的目的。由于初学python,有问题还请大家斧正。

面试题1:批量生产随机字符文件名

用shell实现

代码:

root@vmUbu:/home/dell/shell# vim creat_ten_htmlfile.sh
#!/bin/bash#Date: 2017-8-25
#Author: XianWeiPath=/tmp/shelltmp
[ -d "$Path" ] || mkdir -p $Path                #如果测试结果为假,就执行mkdir语句
cd $Path
for((i=0;i<10;i++))                             #循环执行10次
donamepre=`date +%s|md5sum|tr -dc "a-z"`  #生成随机的10个字母namepost='_oldboy.html'                 #文件名的后缀filename=${namepre}${namepost}          #字符串连接touch $filenameecho "$filename have been created."sleep 1done &
wait

测试

root@vmUbu:/home/dell/shell# ./creat_ten_htmlfile.sh
adcaeeafbc_oldboy.html have been created.
ecbdeabdaedceb_oldboy.html have been created.
edffdbddee_oldboy.html have been created.
beadcabbbdcbdb_oldboy.html have been created.
fcaadeaedafbc_oldboy.html have been created.
adddadbc_oldboy.html have been created.
bcadafebdabe_oldboy.html have been created.
deffebcd_oldboy.html have been created.
fafbbcdcfcfecef_oldboy.html have been created.
fbfdedccbcc_oldboy.html have been created.
root@vmUbu:/home/dell/shell#
root@vmUbu:/home/dell/shell# ll /tmp/shelltmp/
total 8
drwxr-xr-x  2 root root 4096 Aug 25 07:53 ./
drwxrwxrwt 15 root root 4096 Aug 25 08:05 ../
-rw-r--r--  1 root root    0 Aug 25 07:53 adcaeeafbc_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 07:53 adddadbc_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 07:53 bcadafebdabe_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 07:53 beadcabbbdcbdb_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 07:53 deffebcd_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 07:53 ecbdeabdaedceb_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 07:53 edffdbddee_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 07:53 fafbbcdcfcfecef_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 07:53 fbfdedccbcc_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 07:53 fcaadeaedafbc_oldboy.html

总结:

考察知识点:

1)生成随机数的方法

2)字符串连接的方法

使用Python实现

代码

#encoding:utf-8import random
import osdef get10char():                                        #create 10 random charactorsseed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"sa = []for i in xrange(10):sa.append(random.choice(seed))salt = ''.join(sa)return saltdef createfile(name):path="/tmp/shelltmp/"                                 #check whether the dir is exists,if not create itif os.path.exists(path) != True:os.mkdir(path)pathAndName=path+namewith open(pathAndName,"wb") as f:                     #create filepassif os.path.exists(pathAndName):print "%s have been created" %name                  #print the resultelse:print "create file failed,Please check it."def main():for i in xrange(10):                                  #loop 10 times to create 10 filefilename=get10char()+"_oldboy.html"createfile(filename)if __name__ == "__main__":main()

面试题2:将面试题1中的字符串oldboy全部改为oldgirl

方法一:使用awk生成所需命令,再用bash执行

代码和测试:

root@vmUbu:/tmp/shelltmp# for i in `ls /tmp/shelltmp`;do echo $i|awk -F "_" '{print "mv " $0 " " $1"_oldgirl.html" }' |bash ;doneroot@vmUbu:/tmp/shelltmp# ls
adcaeeafbc_oldgirl.html    beadcabbbdcbdb_oldgirl.html  edffdbddee_oldgirl.html       fcaadeaedafbc_oldgirl.html
adddadbc_oldgirl.html      deffebcd_oldgirl.html        fafbbcdcfcfecef_oldgirl.html
bcadafebdabe_oldgirl.html  ecbdeabdaedceb_oldgirl.html  fbfdedccbcc_oldgirl.html
root@vmUbu:/tmp/shelltmp#

方法2:使用sed替换文件名,再用mv修改文件名

代码

#!/bin/bash#Date: 2017-8-25
#Author: XianWeiPath=/tmp/shelltmp
[ -d "$Path" ] || exit 0                #如果测试结果为假,就执行mkdir语句
cd $Pathfor oldfile in `ls $Path/ |grep oldboy`
donewfile=`echo $oldfile | sed s/oldboy/oldgirl/g` #生成新的文件名mv $oldfile $newfiledone &
wait

测试

root@vmUbu:/home/dell/shell# python 1_creat_ten_htmlfile.py
WKfqYfUprf_oldboy.html have been created
QplbhAZVZA_oldboy.html have been created
jmkkmepTfD_oldboy.html have been created
IAeFZLHzOj_oldboy.html have been created
DwWbMsCqtN_oldboy.html have been created
ZgAVXNCyLQ_oldboy.html have been created
DBENsfnZpv_oldboy.html have been created
PveegnMyBo_oldboy.html have been created
MpReSrwXJr_oldboy.html have been created
SWWFrkYhdi_oldboy.html have been created
root@vmUbu:/home/dell/shell#
root@vmUbu:/home/dell/shell# ll /tmp/shelltmp/
total 8
drwxr-xr-x  2 root root 4096 Aug 25 11:32 ./
drwxrwxrwt 16 root root 4096 Aug 25 11:32 ../
-rw-r--r--  1 root root    0 Aug 25 11:32 DBENsfnZpv_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 11:32 DwWbMsCqtN_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 11:32 IAeFZLHzOj_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 11:32 jmkkmepTfD_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 11:32 MpReSrwXJr_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 11:32 PveegnMyBo_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 11:32 QplbhAZVZA_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 11:32 SWWFrkYhdi_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 11:32 WKfqYfUprf_oldboy.html
-rw-r--r--  1 root root    0 Aug 25 11:32 ZgAVXNCyLQ_oldboy.html
root@vmUbu:/home/dell/shell#

python实现

代码

#encoding:utf-8import random
import os
import sysdef main():path="/tmp/shelltmp/"if os.path.exists(path) !=True:                               #check the dir whether existsprint "%s not exists,check it." %pathsys.exit(1)for root,dir,file in os.walk(path):                           #put the dest file into a listpassfor oldfilename in file:if oldfilename.split("_")[1] == "oldboy.html":              #if filename include strings "oldboy",change its namenewfilename = oldfilename.split("_")[0]+"_oldgirl.html"   os.rename(path+oldfilename,path+newfilename)              #change nameif os.path.exists(path+newfilename):                      #print the result print "%s have been change name to %s" %(oldfilename,newfilename)else:print "%s changed name failed." %(oldfilename)if __name__ == "__main__":main()

测试

root@vmUbu:/home/dell/shell# ls /tmp/shelltmp/
COFoqgRped_oldboy.html  FnlInKOFDD_oldboy.html  KraoAAesrC_oldboy.html  LFCkswpeJc_oldboy.html  RXwWPTAYTF_oldboy.html
dxTHbQyYyZ_oldboy.html  ickDGJUVgD_oldboy.html  LBbLaTnuRW_oldboy.html  ReFkjxYZjO_oldboy.html  tKwmVefsCP_oldboy.html
root@vmUbu:/home/dell/shell# python 2_change_name.py
LFCkswpeJc_oldboy.html have been change name to LFCkswpeJc_oldgirl.html
dxTHbQyYyZ_oldboy.html have been change name to dxTHbQyYyZ_oldgirl.html
FnlInKOFDD_oldboy.html have been change name to FnlInKOFDD_oldgirl.html
RXwWPTAYTF_oldboy.html have been change name to RXwWPTAYTF_oldgirl.html
COFoqgRped_oldboy.html have been change name to COFoqgRped_oldgirl.html
ReFkjxYZjO_oldboy.html have been change name to ReFkjxYZjO_oldgirl.html
LBbLaTnuRW_oldboy.html have been change name to LBbLaTnuRW_oldgirl.html
tKwmVefsCP_oldboy.html have been change name to tKwmVefsCP_oldgirl.html
KraoAAesrC_oldboy.html have been change name to KraoAAesrC_oldgirl.html
ickDGJUVgD_oldboy.html have been change name to ickDGJUVgD_oldgirl.html
root@vmUbu:/home/dell/shell# ls /tmp/shelltmp/
COFoqgRped_oldgirl.html  FnlInKOFDD_oldgirl.html  KraoAAesrC_oldgirl.html  LFCkswpeJc_oldgirl.html  RXwWPTAYTF_oldgirl.html
dxTHbQyYyZ_oldgirl.html  ickDGJUVgD_oldgirl.html  LBbLaTnuRW_oldgirl.html  ReFkjxYZjO_oldgirl.html  tKwmVefsCP_oldgirl.html
root@vmUbu:/home/dell/shell#

面试题3:批量创建用户和密码

代码

root@vmUbu:/home/dell/shell# vim 3_create_user.sh #!/bin/bash#Date: 2017-8-25
#Author: XianWei
#create ten users in bulkfor((i=0;i<=10;i++))
dousername="oldboy${i}"                           #cannot use symbol ''password=`tr -dc "a-zA-Z0-9" </dev/urandom |head -c 8`        #create 8 random charactors#echo $username         useradd $usernameecho $username:$password |chpasswd              #change passwd.if os=centos,use passwd --stdin#echo ${username}" "${password} echo ${username}" "${password} >> passwd.txt    #record the username and it's password
done

测试

root@vmUbu:/home/dell/shell# ./3_create_user.sh
root@vmUbu:/home/dell/shell# cat /etc/passwd
......
hello:x:1001:1001::/home/hello:
oldboy0:x:1002:1002::/home/oldboy0:
oldboy1:x:1003:1003::/home/oldboy1:
oldboy2:x:1004:1004::/home/oldboy2:
oldboy3:x:1005:1005::/home/oldboy3:
oldboy4:x:1006:1006::/home/oldboy4:
oldboy5:x:1007:1007::/home/oldboy5:
oldboy6:x:1008:1008::/home/oldboy6:
oldboy7:x:1009:1009::/home/oldboy7:
oldboy8:x:1010:1010::/home/oldboy8:
oldboy9:x:1011:1011::/home/oldboy9:
oldboy10:x:1012:1012::/home/oldboy10:
root@vmUbu:/home/dell/shell# #查看密码文件
root@vmUbu:/home/dell/shell# cat passwd.txt
oldboy0 Je28ZqTi
oldboy1 LcA5AX3u
oldboy2 QF36POh2
oldboy3 5BMoklFp
oldboy4 18slv8fB
oldboy5 8eIVWck3
oldboy6 ZuWQcqjT
oldboy7 lSeahDHM
oldboy8 XvqBiFPA
oldboy9 VNc8fLZC
oldboy10 zdbruc2S

python实现

代码

#encoding:utf-8'''
#date: 2017-8-26
#Author: XianWei from ChengDu
#scripte Function: create users and set its password in bulk
'''
import random
import os
import sys
import subprocess
import randomdef get_passwd(n):passwdlist=[]seed="abcdefghijkmnopqrstuvwxyz"for j in xrange(n):passwdlist.append(random.choice(seed))passwd = "".join(passwdlist)return passwddef create_user(user):create_user_cmd = 'useradd %s ' %userp = subprocess.Popen(args=create_user_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)returncode = p.wait()if returncode == 0:print "useradd %s succussful" %userpassword=get_passwd(8)set_passwd_cmd = 'echo %s:%s |chpasswd' %(user,password)p2 = subprocess.Popen(args=set_passwd_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)returncode_p2 = p2.wait()if returncode_p2 == 0:print "%s set password succussful.its password : %s" %(user,password)else:print "sorry,set password failed!"else:print "useradd failed."sys.exit(1)def main():userlist = []for i in xrange(1,11):userlist.append("oldgirl"+str(i))for user in userlist:create_user(user)if __name__ == "__main__":main()

测试

root@vmUbu:/home/dell/shell# python 3_create_user.py                                     useradd oldgirl1 succussful
oldgirl1 set password succussful.its password : qtcvheyq
useradd oldgirl2 succussful
oldgirl2 set password succussful.its password : wnaecfxu
useradd oldgirl3 succussful
oldgirl3 set password succussful.its password : wpxwtcvv
useradd oldgirl4 succussful
oldgirl4 set password succussful.its password : cpquxwzd
useradd oldgirl5 succussfuldgirl5 set password succussful.its password : gdtmttug
useradd oldgirl6 succussful
oldgirl6 set password succussful.its password : eznjdjow
useradd oldgirl7 succussful
oldgirl7 set password succussful.its password : eysxegpu
useradd oldgirl8 succussful
oldgirl8 set password succussful.its password : yhdkrdyb
useradd oldgirl9 succussful
oldgirl9 set password succussful.its password : omytwhdh
useradd oldgirl10 succussful
oldgirl10 set password succussful.its password : zpenokqg
root@vmUbu:/home/dell/shell#
root@vmUbu:/home/dell/shell#  cat /etc/passwd |grep oldgirl
oldgirl1:x:1013:1013::/home/oldgirl1:
oldgirl2:x:1014:1014::/home/oldgirl2:
oldgirl3:x:1015:1015::/home/oldgirl3:
oldgirl4:x:1016:1016::/home/oldgirl4:
oldgirl5:x:1017:1017::/home/oldgirl5:
oldgirl6:x:1018:1018::/home/oldgirl6:
oldgirl7:x:1019:1019::/home/oldgirl7:
oldgirl8:x:1020:1020::/home/oldgirl8:
oldgirl9:x:1021:1021::/home/oldgirl9:
oldgirl10:x:1022:1022::/home/oldgirl10:
root@vmUbu:/home/dell/shell#

面试题4:扫描网络内存活主机

代码

#!/bin/bash#Date: 2017-8-26
#Author: XianWei
#check the server whether is aliveippre='192.168.142.'
cmd='ping -c2 'for((i=0;i<=20;i++))
do
{$cmd $ippre$i > /dev/null 2&>1if [ $? -eq 0 ]thenecho "$ippre$i  is ok"elseecho "$ippre$i  is down"fi
}&                                              #parallel progress
done
wait                                            #let parent progress wait all child progress

测试

root@vmUbu:/home/dell/shell# time ./4_ping_host.sh
192.168.142.0  is down
192.168.142.2   is ok
192.168.142.11  is down
192.168.142.20  is down
192.168.142.4  is down
192.168.142.12  is down
192.168.142.3  is down
192.168.142.9  is down
192.168.142.18  is down
192.168.142.5  is down
192.168.142.15  is down
192.168.142.13  is down
192.168.142.16  is down
192.168.142.17  is down
192.168.142.10  is down
192.168.142.14  is down
192.168.142.6  is down
192.168.142.19  is down
192.168.142.1  is down
192.168.142.7  is down
192.168.142.8  is downreal    0m11.229s
user    0m0.024s
sys     0m0.720s

python实现

代码

# encoding:utf-8'''
#date: 2017-8-26
#Author: XianWei from ChengDu
#scripte Function: check ip whether is alived in bulk
'''
import random
import os
import sys
import subprocess
import random
import platform
import re
from threading import Thread
from Queue import Queue
import timedef check_ip(ipaddr):#函数用于检测IP地址合法性。来源:http://blog.csdn.net/jbxue123/article/details/23156011addr=ipaddr.strip().split('.') #切割IP地址为一个列表#print addrif len(addr) != 4:              #切割后列表必须有4个参数print "%s,ip address is illegal!" %ipaddrreturn Falsefor i in range(4):try:addr[i]=int(addr[i]) #每个参数必须为数字,否则校验失败except:print "%s,ip address is illegal!" % ipaddrreturn Falseif addr[i]<=255 and addr[i]>=0: #每个参数值必须在0-255之间passelse:print "%s,ip address is illegal!" % ipaddrreturn False#print "check ip address success!"return Truedef ping_host(ip):if check_ip(ip) == False:               #检测IP合法性sys.exit(1)platformOfSystem = platform.system()    #根据平台,设置ping命令if (platformOfSystem == "Windows"):cmd = "ping -n 2 %s" % (ip)if (platformOfSystem == "Linux"):cmd = "ping -c 2 %s" % (ip)res = os.popen(cmd)if (platform.system() == "Windows"):if (re.findall("Lost = 2", res.read()).__len__() != 0):print "%s  is down." % ipelse:print "%s  is OK." % ipif (platform.system() == "Linux"):pingResult = re.findall("Destination Host Unreachable", res.read())if (pingResult.__len__() != 0):print "%s  is down." % ipelse:print "%s  is OK." % ipdef main():print "main threading waiting......"ip_prefix = "192.168.142."                          #设置ip列表iplist = []n = 10for i in xrange(1,n + 1):iplist.append(ip_prefix + str(i))tlist = []for i in xrange(len(iplist)):                       #使用多线程pingt = Thread(target=ping_host, args=(iplist[i],)) #将线程加入listtlist.append(t)for thread in tlist:                                #启动所有线程thread.setDaemon(True)thread.start()for thread in tlist:                                #等待所有线程结束thread.join()print "main threading Done"if __name__ == "__main__":main()

linux平台测试

root@vmUbu:/home/dell/shell# time python 4_ping_host.py
main threading waiting......
192.168.142.1  is OK.
192.168.142.2  is OK.
192.168.142.3  is down.
192.168.142.6  is down.
192.168.142.4  is down.
192.168.142.5  is down.
192.168.142.7  is down.192.168.142.8  is down.
192.168.142.9  is down.
192.168.142.10  is down.
main threading Donereal    0m3.166s
user    0m0.100s
sys     0m0.296s
root@vmUbu:/home/dell/shell#

windows平台测试

C:\Users\Administrator\PycharmProjects\shell_to_python\0826>python changename.pymain threading waiting......
192.168.142.1  is OK.
192.168.142.3  is down.
192.168.142.6  is down.
192.168.142.9  is down.192.168.142.4  is down.
192.168.142.7  is down.
192.168.142.8  is down.192.168.142.5  is down.
192.168.142.2  is OK.192.168.142.10  is down.main threading Done

面试题10:比较两个数大小

要求:输入两个数,比较大小并输出结果

代码

#!/bin/bash#Date: 2017-8-27
#Author: XianWei
#作用:输入两个数,比较大小并输出结果#判断输入的是否为数字
function judgenum()
{if [ $1 -gt -99999999 ] > /dev/null 2>&1 #与一个很小的数比较thenecho -nelseecho "Error,Please input a number"exitfi
}read -p "Please input the first number:" num1
judgenum $num1
read -p "Please input the second number:" num2
judgenum $num2let res=$num1-$num2
echo $res[ $res -gt 0 ] && echo "$num1 > $num2"
[ $res -lt 0 ] && echo "$num1 < $num2"
[ $res -eq 0 ] && echo "$num1 = $num2"   

测试

dell@vmUbu:~/shell$ bash judgenum.sh
Please input the first number:1
Please input the second number:b
Error,Please input a number
dell@vmUbu:~/shell$ bash judgenum.sh
Please input the first number:a
Error,Please input a number
dell@vmUbu:~/shell$
dell@vmUbu:~/shell$
dell@vmUbu:~/shell$
dell@vmUbu:~/shell$ bash judgenum.sh
Please input the first number:2
Please input the second number:2
2 = 2
dell@vmUbu:~/shell$ bash judgenum.sh
Please input the first number:2
Please input the second number:3
2 < 3
dell@vmUbu:~/shell$ bash judgenum.sh
Please input the first number:2
Please input the second number:1
2 > 1
dell@vmUbu:~/shell$

知识点

1)如何判断输入的是一个整数。除了本例中的方法还可以使用expr,比如expr num + 1,如果返回值$?为0表示输入的是一个数。否则不是一个数,返回错误并退出

使用Python实现

代码

# encoding:utf-8import sysnum1 = raw_input()
try:num1 = int(num1)
except:print "Error ,please input a number."sys.exit(2)num2 = raw_input()
try:num2 = int(num2)
except:print "Error ,please input a number."sys.exit(2)if(num1>num2):print "%d>%d" %(num1,num2)
else:if(num1<num2):print "%d<%d" % (num1, num2)else:print "%d=%d" % (num1, num2)

未完待续.......

转载于:https://blog.51cto.com/237085/1959480

shell编程面试必会30题相关推荐

  1. SQL面试必会50题(含答案和学习链接)

    最近在刷 sql 题,刷完了网上的 SQL 面试必会 50 题,现把我的答案和思路整理如下,供大家参考. 这是目录 一.创建四张表 二.SQL面试必会50题(不含答案) 三.SQL面试必会50题(含答 ...

  2. shell 脚本练习 | 「题霸」面试必考真题【shell篇】题解

    写在前面: 每道shell脚本练习题都可以使用while.for.do等循环配合read,printf的方式解题,通过这种编程式的思维解题(类似C语言,通过变量与函数解题).而shell中本身就提供了 ...

  3. 程序员面试必看30道智力题

    二进制问题 金条问题 有个商人雇用了一位手艺高超的工匠了为他做一个精致产品,工作一星期七天的代价是一条金条.商人手头上有一条金条,刚好有可以付工匠一星期的工钱.但工匠要求工钱要按每天来付.虽然他并不急 ...

  4. 数据分析sql面试必会6题经典_师兄大厂面试遇到这条 SQL 数据分析题,差点含泪而归!...

    作者 |  云祁 来源 | cnblogs.com/beiisbei/p/13269964.html 一.背景 师兄在面试时遇到了这条SQL题,回来我帮他参谋了下,觉得非常有意思,让我们一起来看看这道 ...

  5. 2023测试岗面试必问13题(你是在等通知还是拿offer呢?)

    面试题1:请先简单做一下自我介绍? 等通知的回答: 你好,面试官,我叫xx,我来自长沙,大学在上海就读,现在在xx公司从事测试2年,做过很多项目,性格开朗.. 拿offer的回答: 你好,我叫XX,2 ...

  6. 蚂蚁金服面试题泄露,看完这十道面试必问真题,稳拿Offer

    最近编程讨论群有位小伙伴去蚂蚁金服面试了,以下是面试的真题,跟大家一起来讨论怎么回答. 1. 用到分布式事务嘛?为什么用这种方案,有其他方案嘛? 什么是分布式事务 谈到事务,我们就会想到数据库事务,很 ...

  7. 捡漏!蚂蚁金服面试题泄露,看完这十道面试必问真题,冲刺金九银十,稳拿大厂Offer!!

    前言 最近编程讨论群有位小伙伴去蚂蚁金服面试了,以下是面试的真题,跟大家一起来讨论怎么回答. 1. 用到分布式事务嘛?为什么用这种方案,有其他方案嘛? 什么是分布式事务 谈到事务,我们就会想到数据库事 ...

  8. Linux基础—” Linux静态动态库及相关编程“ 面试必问的知识点你了解了嘛

    文章目录 Linux库引入之分文件编程 分文件编程案例 Linux库 1. 库是什么 2. 静态函数库 3. 动态库 Linux库概念及相关编程(面试重点) Linux库引入之分文件编程 分文件编程案 ...

  9. java面试时候算法题多吗,Java面试必问算法题

    面试的时候,栈和队列经常会成对出现来考察.本文包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min()的栈,要 ...

最新文章

  1. 博客园 noteless 全部文章 目录索引
  2. json和pickle模块
  3. Kaldi拜拜!PyTorch语音工具包SpeechBrain要来了,支持多种语音任务,实现最强水准...
  4. 51单片机除法c语言,求一个 89C51 简易计算器的c语言程序 只要加减乘除就行!
  5. 数据结构Java02【栈、队列、单链表(增删节点)、循环链表、双向循环链表、递归(斐波那契、汉诺塔)】
  6. 史上最好记的神经网络结构速记表(上)
  7. java ee cdi_Java EE CDI依赖注入(@Inject)教程
  8. LeetCode 413. 等差数列划分(DP)
  9. 操作系统 ——进程的状态与转换
  10. 编程语言开发编程语言_D编程语言是开发的绝佳选择的5个理由
  11. LeetCode刷题(19)
  12. 在28岁这一年,我也成为了一名创业狗
  13. leetcode两数之和,三数之和,四数之和问题
  14. 第八章--注册码是怎样炼成的
  15. 寻宝游戏设定_Excel寻宝游戏
  16. Java 随机数之从指定数据范围内随机选取n个不重复的数据
  17. 东北大学 计算机网络,东北大学计算机网络B卷(附答案).pdf
  18. Java实现一个简易联网坦克对战小游戏
  19. c语言报数问题程序,转圈报数问题(C语言):有n个人围成一圈,顺序排号……...
  20. HEG安装教程(windows平台)

热门文章

  1. python读取网站_科学网—python 获取网址 - 林清莹的博文
  2. 剑指offer 算法 (综合)
  3. shelve 序列化模块——day18
  4. ftp服务器搭建(离线安装vsftpd),配置
  5. Centos7更新阿里yum源
  6. MariaDB 数据库迁移
  7. Java 9 揭秘(14. HTTP/2 Client API)
  8. Docker入门简介
  9. 第四章(变量、作用域、内存问题)
  10. PHP中对数据库操作的封装