具体代码与编程思路如下:
http://www.cnblogs.com/yifan2016/p/5267958.html
本次测试主要针对如下问题进行:
1. 是否所有的边界条件都是正确的?
2.是否有乘除法?
3.是否有括号?
4.括号是否匹配(无单个括号,非法括号出现)
由于本题目为有计算机出三十道试题,所以并没有相关输入,所以通过大量生成算式来观察是否正确:
以下为系统生成的500组随机算式,未找到不符合上述要求的算式产生,则可认为程序符合要求
92*(528+686)-791-915+48 (693-286)-355 (735+851)/577 97*724 159*608/14 (24*543)+145/(29+325)/699 767/852/491/(154-845)-991 (990-622)-304*935/869-453/616+908*614 491+((531-436+338)/158/113)/(62*760)/766 ((260*666)-851-(113/74)-291)*236 101/(29+946)-155 451+631 (((502/66)/264)+433-344)/912/922 54/((244/201)/527-301)+55 ((584/992)+77)/819+242 965+((144/491+277)*939)-46 693/507 (462-864)*34 (989/279)/15 8*645-353-321*86-619+101+238 (89/313)/823/104+((752-337)*91/882)-864 817*((717/851)-520-276)+274 ((33/30)-594)/686*475-(604-342)+310 982-(11/727+69*62)*442 (991+292)*803+(348+800)+617 785+183+((299*191)*269)+(731+631)/267 ((665/251)+406)-989*((356*199)/36)+452-14 764-588*838*447 156/(173/992)-877+512/180-325/669 438+(282-183)+753+(18-310)+168+531 (947-123)-374/(936/164)+207 946+460+981/285-666/867 528+274/18/922+661*864-350+674 930-76-207*335 976+798-466-808*113/6-78-91 890/826+245-817*755*293-618 762*233*124*786/468 415*231-((448/625)+771)*((621+824)+734)*469 406+466+(695+483)/354*234*826 441/438/522-(455/769)+704-639+344+638 357*378 742/(517+552)-655 113+683-880/590/484/946/63 617*576 187*(837-454)+(872+108)+198-415 636/784+358+568-518*226+322 416/32/351+336+989 614*595 (647/108*594/535-76)*(501/369)/233 985*340*966+468/2+461*330/735-435 390+(69/595)-109 270/787/(476*(812+978)+321)*473*610 (176-576)+184/(((626/330)/206)-228)*998+519 49*737-((326/394)*933-584)-965 (540-351+117+352+770/519)-345+582+434 751*(366-517)*978/278 611-820 338*954+(39+747)/257 (559+702)/298 36*(972-110)/555-(448*331)/(191/675)-254 363*(831-874)-680 ((826+905)+763)-569-(624/885)+941/103 213*643/(639-172)+944 581/126 39-476-771+462+462*221 88-((59/445)+194)+396*(285*149)/93/140 (794*477*297)+838/859 (719/180)/122 (138*207)+327/(285*166)-(3-530)/546 (931/706)-179/((502+843)/432)-408 (731-602)-285+(537*203)-863*703 537+629 266/279-(166*249)*(223/328)*468 583/(583/434)-735 844*725 543*506*787+685*681+563+443-559 ((327*121)-44)-530+42/465+12+860*593 (399+313)-159+868*(762+487)-252 (225/631)-399/(879*339)/513+882 (76-431)-558 502+(933*43)+509 (201-232)-391 3*612/(((345+772)-308)*101)*914 942+187/339/366+875/634-894/703 438/72/((350*919)*25)/572/961 899/479/747 (704/9)+621-393 (816+435*814-302+52+272)/594/311 955+691*596 60-709*891 368*866 (633-797)*720-(600-951-302)+925 471*683 (717/35/537)+917 705-((812+692)/821)*408+(858+260)-57+486 95*231-347-279 626/(343-256)-((64*236)+(568*877)*388)/664 ((270+985)-609)-(24+563)+329/785 937+341 132/22+217-(893+697)/(646+725)-945 (398-675-409)*743 46-(783+844)*843/449 845/166+(824/219)-602 2-226-(917-806)/(710/665)/249-77-169 (367/541)-469*887/((189+271)*779/709)/285 (882*800)*((5/260)+247)-462 945+376 68/809-800*732*201-(585*160)-275 (212+231)/860*(159/704)*330*159+637 389-346 518*(821+715)/286 (604+866-814)/632 695*519 ((365+642)*775)*(781/398)+350 357/490+589-983 (822+899)+764+((780*130)+250*33)/641*578 (191-162+584*311*305-(440-608)*153)-56 313+826*347/623+967*381 640-3 16*801/114/741-699 (426-547)/(149*105)*182 426-557-(188+((870/258)-38)/267)/318 973*224*373-(278-655)-487*552-804-108 556*(736*425)-594*149+(306+512)+426 ((370-620)-456)*923 690/500 (247/250)+993 550+((735-937)-327*529)+(618*27)/855 599*280 (643/878)-483*(588-607)*49 69/447+325+591+866*789/932*709 ((388-534)+62)/674-((993/65)*280)*67 997+57-307/168*854 406+195+471*152+(589*249)*(369-429)/852 (311-572)/578/(859-856)+790 (458*142)*204-238 (475*945)*633 (545+800)+564/(124*401)+591 505+348-(20-561)-166-670 705*760/318-424/699 356*307 270*206-572+883*995-97/360*938 (545*607+876-871-485)/606 127+428+326/486/863+476+799/7 318*(432*(82/146)*987+344)*842 561-(((307+835)+572)*831)*373-86 668*(632-369)*283 (180*149/454)/71*668 739-((87*815)-552)-821 548*659*826*792-181 (499+923)+690 743*494+533 794+325/787 (860-493)-743/171 530-(484*903)-358 305*635*969 195*(636+284)/619/876 (591-814)*((884-309)*447-(294-481)/27)/710 (311+567)-((984-388)+576)/640 ((440-(763*978)*30)*861/628)-80 (894-802)/293 358/86*44/715-38*841/592/537 800-(362-260)-974 (771+636)*(778/837)*859 745/805+997*138 421-(591-445)+179 124-733-100/920/451-731-206 (751+900)-35/(130*405)*484/218 572/453*419/491+375*736-331-550 597+((80-816)*485*486)/263 937-847/923/193+257 (798+5)-50-552*495/91+888/618 426/97 74+338-31+787/892/281*860+943 (779-558)/249 (102-489)+205 (440+176)/752*((811*587)-869+734)-656+998 805/((363*674+116)*416)-323 575+430*377*644-795*958+275*20 (480+555)-773 614*893/39*344/293/73+945-190-820 (886*929)*(140+615)/82*634 ((757+796)/245)/971/655 (985/(891-545)/892)-556+392 56*((967*859)*785)+155+532 864/70*204+68*635 ((666-114)/427)+914/253 23*307/(367+510+791)-794+677 830*96/429*334*301/309 (92+(715/833)/531)-930 (993*342-843)-330*(651*95)/(336/225)/331 234/77 475-(915*47)*406 369*944+845/323/134-630-661/224 643+271*((911/551)-240)-532 (403-((431*958)+498)+951)*(574/462)-11 936-(623*(27-793)*769)/1*514-949*790 ((382+314)*829)+540 8+730-((653-515)/968)+577+181 195*367+856 283-701+360/122+985*806 105-90+(485/856)+(893-795+39)-296/527 ((120-(124-205)-(299*110)/464)+71)-691 (578/555)*301 ((((836+991)-511)/312*537)+643)*(754+915)-477 ((87/1)+187)-474 305*(538*108)/743 727*620-110 (370/(981-979)+564)/(757+429)+782 (923/334)-127 350*583 (912*886)-826*240 892/807 589+564-(680+870)+21/864 675-658 (129/836)*170 654/109 172+578-(581/8)-496/315/(477*979)-498 408+670-(647+31)/993-(181+503)/368-466 209+812 706-(245*526)+761+470-496/968/438 (592*97)-448 (169*731)+418/(479/524)/416/749 ((5-227)/546)*602 281*585*951/266-605-793*429*642*808 (369+327)-519 385-596*(739*659*307+534)/365 515*570+(978+525)+(339/742)+160-257 7*962-665-757/820+231/437 811+(503+371*(31-663)+949)*50 (133*821)+577-425 (266*78/(650-335)/168+574+905)-660 23-401+121 620+82*332-73 (((941/707)-299)/377)+281/80 ((42*364)/224)*550 535*804/360 (452-796)+958 868+(990+466)+9/(721/529)/483 (251+260)+958/645-691 379+(919/467)-189 171*549*418*669-701 63*(213+795)*18*254 160-661 998*981/923/664-583*141/32-16 345*678/337*18/415/732+177 ((963+446)/567)*102 404-391+657-616 397/867-(107*990)+774 515+699 667/252*440/34 (146+51)*793 249-12/146+870 (115-711/284-366*252)*((812+563)*295)+507 431+649*(87+461)+270*465 200*(975-916-331)-822*724*109-892-723 606/104*(926+928)-278*107 (490/280+391+667*89)/729 ((88/196)/470)/366 305*331*595 (564/936)+844 258-624+475+309-883/84+537 477*934+(271*651)-80-963 796-571-245+733 254*410 (371-570)-984+(337+14)+774/572 (667*668-528+869)/19/959 46*403+611/747+((204-370)*144)*867-32 (882/555*47/669)+(148/993)+982 418+747 (346*534)+781-(231+877)+900 979/691/314+737/641-5*254+290-705 (267/344*828)*144-998 (185/744)*(2-725)-(3/81)-441 15*630-462+886 438-272+602/76-925 (945-990)/(76/10*339)-739/86 (823-637)/884-(659-308)/436-780+126 (953*602)+(892-319)*84 (280*618)*260 (647-705)*530-(252-678)-551 96+(991+306)*496 (235/128)-(228*593)-143 959*168+617/357 ((369+94)/472)*935+649+409-257-533 549+71*529/615*689*(968-121)-204*745 ((666+160)*(291*711)-487)-341-485+416 (((1/133)+535)/562)+636 184*(377-458*406)+701 (902+202)*(313/585)+851 (134-777)/972*((878/522/376)*501)/174-845 9-745/273/400 624-90*697+(814+507)/(540-878)*286 368*543-236 597/(107/79)/495/((622+248)/168)/809 (608-199*68-702/885)-924*400 143*553*238+558*702*106+743/325 696+819 462/4 (((107*90)-868)*486)/137-679-625 274+969*867 (749*145)*942*159 937-673/117 (33*463)-535 (454+988-140*224)+651 816/(580/430)+((486/94/773)/894)-194 (718+816-507/802/((720-183)-573)*109)-502 (994-57)-858 (518*957)+2*562/(260*47)-715+898 674+((780-745)-927)*963 289*((628*355)-823-(820-285)*959)-791 633+199+468+991*331+511-283*953+929 770+101+821 334/691-622*521-59/950 (481-224*991-923)-454 482*517/208+247*335*42 (290/437)*419 126/826/333+577+70/527/553 604-555+(319-(503-213)/117+628)+205+75 (638/(821/204)-460)/653 600+592 (570/891-699/211*147)/746+787+625+584 173/87 560+(798+895-754+862)*(144+300)-641*356 994/353-64*278*480*892 496*235+462+(948+(630+769)+652)*95 (221*(612*266)*725+439)-704/18 909-48/518-791-696*57 587/11 (51-880)-295*((169+398)/632)/805 (346+578)-495 414+371*814+42+51/917+349/258 (432-145)+346*301 366+527/361+852+148*670-1 (868-626)*(232*(746*920)/12*716)-184 442/(662-417)*471 880*151-274*478+433 (473-848-329/215)+682-293 ((138/995)+234)+((310+477)/126)*176 (339/784)-882/(((706*457)*702)/842)*391+357 ((328*210)-710)+430 (104-680)-894 68*110 922+924 857+(370*180)+621+705/363 891/((52/29)*437)*712-569 979-317/((190*910)-623)-6 102-(613-422/154*376+75)/679 947+(600/177)/1 370/666 249-(793*150*205-483)-327 274/(113-116/583+786)+778 337-592+((880/917)-858)+910/920/510 ((947/15)-374)/957-(360+791)/550 26*900*526*31*105*901 643-251-704*995*558+843 938-783-(431-617)-(807*41)*789 (431+835)/374-178 ((89+245)-91)/590/883/457*335+814 (217/736-768/568-698*226+285)+311*768 (3-321-800)-437*34 (77*273-((531*227)+308)/170)+360*563 881*406*((741/213)+845)/656/364 (339*442)*500+(833+60+278-793/143)*713 (706/331+471*713)/401 ((546-10)/447)*(680*332)-995 (52*990)*914/718 84-(997-72)-673 (723/((138-664)+825)/652)*785 (853-508)+625 446/525 234/685 (680*(474-445+947*11)+550)-115-91 507*9*914 379-815/407*522*936+849 508+(6-352)/101 ((((650/529)/644)*818)+763)+574+585 725-(260/5)*653 440-(979/184)-662+299 763/(672/257)+(((156*265)+524)-492)-635-518 403+(263-41)+301-581 (977-776*177)+751*(842+454)/135-29 (332+590-976)-281 (206+380)-(485+930)/804 352+456 5/593*86/55+37-225*787+157 (335/((849/446)+574)*811)-774-614 31*677+(444*836)-627 (500-171)*(291-838)/536-666 404/733 280*719-23/615/184-474 866-728+(853+(491/677)/983)+626-862 (402/612*219-954+354-780)+(15*723)-765 (404-14)+501 928+89/692+850+722/493 579-(546/154/63+796-793/688)/921/323 (589-943)-((922+135)+256)-315 ((817+749)+440*903)-248/351+261 247+(837+31)+230/(380/818)/790 588/388-372+522/957*623*493 (131+409/879/116+577)/889 830-(917+37)*220-(32/60)+341*439 (442*(867+20)*731)+44*650 597-724 (735/786)+614*967/512/652/400-316/950 490-512 74-528*64/86-425/570/812+623/653 (683-96)+972*357-479+878*541 928+(409*324-4)-((511-750)/421)+181*519 844+836-846+(80*27+192)*(247/200)-779 115/(((864/646)/732)+873)-725/(151/375)*686 559/720 284+(313*142*611)+(302/(419*69)+91)/341 (968/275)-299+395-952 345*316/((257/635)-614)-(741+379)-636 468+959-305*969 380*196/31+353/902*665+298*702 ((859/839)-710)-99 (((677/89)/236)*537)/980-204 382*836-641/606*670+373 86*(811-93+278)/56 344/967/26-624-199-646+299+418 291+636+209-574 307*(160/358)/487 467/965/263+585+606-464 (26+722)/((150+153)*459)-315 (204+66)+217 (552/640)+663/46 (205+869)/686 764-111 (460*(524*126)-335+115)-963 195*631+(375*358)/67 (641-(623+403)-164-572)/461*718 18+483 859*(881-142*253)+(447/293)/523 ((190*416)-58-440)*737+370+(878+976)/119 250+(((463+68)*538)+536+873)/353 (864/119-527)+950/537-616/(589/639)*199 72+594+338*392/491-591/943-675*669 189*270/573+(679-432)+709 (795/948*585-538)-19 (864-144)-848 (919/287)*697-284 ((176-688)+35)+393 806/967 916*998+780*320+839+128/968+815 307-109 529-781/553/369+709+638 112*585-233/979+321+490-892/5 915*741+205/353*299*409*215 313-451/(591*761)*54 ((118+669)-571/325)*163*154 (946+641+680/136)+(285/157)-(452+733)/734 ((555+275)+563)-(723-(902-598)+269*777)*999 712/(125-696)-747 (256-603)*930-(265+618)*876-859 609-(597/959)/966 (600+417)-539*889 145-871 ((601-433)+102)/320 188/199 729+509*509*827+87*867-681 (537*597)-658/883 (87/581)/608 40*822-246*927*999 119*662+(938*514)/464*(682+757)*789 711+307+615-806/711 769+978+(562+594)-231+25/(360+135)*188 (456-896)-712-(183+606)-532/828 294*657+418-425-863+300/459*212+896 ((96+400)+305)-300/948 506*(617*162)*51/340 535-((198*819)-531*394)-(721*532)*705 (584*100)-458*(918+817/942)-193-456 710/558-30+934 (529-786)-742 761+((501/898)/609)+845/840 890*416-(17-99)-599 (38*648/59)/714 191*168+878-491-877+313 190+(308*7)*438+884 841*878*((43+436)*844+534)*(84+69)*235 934*820 814-595-(500+723)-549/382/711 (556/654)-870 536+(318+809/352*872)+735/91*618+876 (740+943-17*906/744-95)-(759*701)-34 (763-457)-240/975 313-220+57-884+152/175 913-(374-((648+504)+752)*970+909)/272 (247*20-(170-430)/37)+807+117 558*(542*356)-6/379 669+191-(703+465+908)-224*(669+811)+72 786-((213*454)/48-255)-379 385+735-((525/163)*519)+37+49-594 (((166-526)+428)/558)*942+(70-952)/550+631 940*(925*457/367)/345+969 881*(492*279*582)/779+688 (241-382)+796/(511+908)-((652*283)-175)*845 228+272/419+243/546/757+932*998/762 -------------------------------- Process exited after 3.57 seconds with return value 0 请按任意键继续. . .
原文:http://www.cnblogs.com/yifan2016/p/5272393.html