C语言课程设计之实习报告共15天完整_第1页
C语言课程设计之实习报告共15天完整_第2页
C语言课程设计之实习报告共15天完整_第3页
C语言课程设计之实习报告共15天完整_第4页
C语言课程设计之实习报告共15天完整_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C语言程序设计》短学期实习报告系名:计算机科学与技术系专业:软件工程年级:2015级姓名:

《C语言程序设计》短学期实习成绩评定表得分情况每天得分分值实际得分第1天6第2天6第3天6第4天6第5天6第6天6第7天6第8天6第9天6第10天6第11天6第12天6第13天6第14天6第15天6奖励得分10扣分情况总成绩:指导教师:2015级C语言短实习第一天多分支结构if-elseif语句一、练习题目:1、输入一个数,判断该数能否同时被3和7整除,如果能整除,则输出YES,否则,输出NO。3、三个数的最大值。从键盘输入三个整数x,y,z,求出最大数的值。5.出租出计价。某城市出租车计费标准为行驶里程不超过3公里的,收起步费8元;超过3公里后,总里程小于或等于10公里的,每公里1.7元;总里程超过10公里以上的部分,每公里2.55元。请编写一个出租车计价器,当用户输入乘车里程时,由程序计算并输出乘车费用。二、实现描述:简单的条件判断Hindude<stdio.h>voidintx:scanfC'^d'^&x);iF(Cx^3==0)&6(xV==0))printFCVES");elseprintfC'HO");用简单的ifelse条件判断ttlnclui[lG<£tdio,h>woidintprintf(B,inputthreenunbers;E邱iffmaHCiy)elseifelseprintf,naK);调用函数判断最大值ttinclude<stdio.h>uoidmain(){intnax(intx,int9);intx,z,d;printF("inputthreenumbers:;scanf("^d%。如,二心,匈,&e);d=max(max(x),z);printF("nax=^d",d);}intmaxfintx,inty){returnf(x>y)?x:y);三、实习心得:简单复习了函数的调用。2015级C语言短实习第一天附加题多分支结构if-elseif语句一、练习题目:从键盘输入两个整数表示年和月的数值。如2012,2表示2012年的2月份。输出该月的天数。(注意平年和闰年问题)例如:输入:20122输出:29求以下一元二次方程的根。ax2+bx+c=0要求输入方程系数a、b、c(假设b2-4acN0)输出方程的根x,x(x>x),若两个解相等,则只输出一个值(结果保留两位…1212小数)例如:输入:132输出:-1.00-2.00剪刀石头布Coc。和Tom玩石头剪刀布的游戏,用数字代替手势来完成,假设用0表示石头,1表示剪刀,2表示布,每人在纸上写一个数字(数字仅局限于0,1,2),然后同时展示所写的数字,如果Coco的数字胜出了,则输出Win;否则输出Lose。例如:输入:02输出:Lose二、实现描述:注意平年和闰年的问题,采用多重选择分支。ttincLude<gtdiELh>intiraint...:1{LTltIDDU.thS..r-Hr(rJ^d'm/Jft.yrnl;vIholJlI'.if(no'.itt.==L|nojth==r|mDu.th==f|tcu7]i==THcll7?i==S||tcu7?i~10|lno.itl-.~12Jclzcit(nojth一一"11一一ErnDuiJi一-1|jci.L-n-一11)i/irICi"),、elceif1:'iDDLlh一一-一U^^yearitluul_(L||':nojth一一2^JDDJ.th心ii)=〔.iclzcr-iri•…溶'】,利用求根公式计算Ui:-__LL・.J‘!=:".LiL-h".为--■nd-,irat-.1Y,l[iluni:.:i[in?z.b.::iJill'iIriI,X:,J..zctnf"r}id?\土'f:b.lie::■..=l.^<Wu中,_.■?■-1■:'d)顼时-•s:l-i'-l.-t:„:j.D〕,•';■二:=、1=丁;1L2LtJirc\-.i,,else;rintf(vJi.If".nl.-21:列举6种可能性即可#i]icludz:<5tcio.Il:iir.iuai:iO■:intx,y;scanf(y%d做",&x.&『):iffy—|x=1贼产二2||财呼二二fl】E'TLr.tf;elseifG:==〔就y==2||x==i皿产=)||工==2版y==l)printfClose\n?9}'三、实习心得:(可选)复习了初中数学知识「2015级C语言短实习第二天多分支结构switch-case语句练习题目:输入一个整数,如果数字是1〜5之间的数字,则输出数字对应的英文,否则提示输入错误。例如:输入:1输出:one3.假设某高速公路收费站收费标准如下:小型车每车次15元,中型车每车次35元,大型车每车次50元,重型车每车次70元。请编写程序,先在屏幕上输出以下信息:--小型车--中型车--大型车--重型车然后由用户输入车型对应的编号,根据车型输出应交的费用。例如:输入:3输出:大型车50元5.由用户输入月份,打印该月有多少天。(不考虑闰年的情况,假设2月都是28天)例如:输入3输出:31天实现描述:简单的用switch语句输入输出Winclude^stdi□.h)intmain3{chary.;331口”沁吏了),switch(x)(已”1':printf(Jone\nJ);break;已''I:printf;break;已'S':口rintf〔"二hr巳己W)br已曰k;已'C:口TirrtiH”三crjrkn"::break:「方=尸’FJ:p-in+f(/y-i■lefaLilt:printftinput;break;scci-f虹);zcvitck{Wirrli:CF<pTcir.Fzirttt?if0caseJ1’:printfC^\^——15兀;break;case'/:printfCi1型车35兀jbreak;csc£J己’:printtC/^型」b■。匹arm*:ceee'#:scci-f虹);zcvitck{default:printfonginputbreak;3.简单的用switch语句输入输出='ncluce<stdio,li>inte己iii。charx;scanz(*%匚*.&x):switcn(x){cz.Ee'1':cEise'3':ce.se'5':c己切m10:Ccise'12r:printf("31天W);break;Cc.se'4r:cc.se'6';CcL5?'9':cc.Ee'L.:pri:itf(,F30^i\n'r);break;case'21:printf(B28^\n');breaksce'?c.ult:printf(."^'ronginput\n');brrak:二实习心得

2015级C语言短实习第二天附加题多分支结构switch-case语句练习题目:编写程序,由用户输入年、月、日,可以查询这是一年中的第几天。设计一个简单的计算器,能够做加减乘除四则运算。由用户输入表达式,程序输出计算结果。例如:输入:2+3输出:5请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。实现描述:67891Q1112131467891Q11121314IS1«17IS22Q2122232斗25272S29308&10118&1011121314n-:doxiblevlrv2;charop;seanfff,£xrl.5opFiv2);awltclifop:(case,+,1:printf(2f'vr^rv1tv2);break;aa.sB1一■:printf("■龟-2^\r.fTrvl-v2);break;case"*":printri:"若・2r'\rprrvlEvz);break;casel/9:printf("%.2"rvl/v2):break:defaultsprintf(FWronginput");£>reak;151-6173.多分支判断1tinGl'jdecatdiQ.n>7S510117S51011121314151J51718220212223E2S26272829L-:ChZLTCtl;scaur(「「2、;ifi:ch—'u')ZEincf|p,Hcmday\nB,;;Eziir,2?i==-zJ)-:jjetchar();scanf(a:ch);ir(cii!=,LL,)printfIFITue3day\nn,)】elseprincr|MTtiuxsclayw;if(ch=fc--7B)prmcE|”曹旦血三与日目三七立“]?if(ch—'f1)princfr'FrzdayXn11!-;Ezi1口===忸):jjetchar();Bcanf(Ech);printf|"SundByXn"!;elsepElncE|nSar-urdaj/Stn"5);实习心得:(可选)循环语句练习题目:“水仙花数〃是指一个三位正整数ABC,其各位数字的立方和等于该数本身,即ABC=A3+B3+C3。例如,370是一个水仙花数,因为370=33+73+03。编写程序,输出所有的水仙花数。3.有一分数序列:2/1,32,53,&5,138,2113,......,试编写程序计算此分数序列的前n项之和。例如:输入:5输出:8.3916675.输入一个任意长度的正整数,将该数逆序输出。如,输入正数237,则逆序显示的结果为732。如输入230,则逆序显示的结果为032。实现描述:1分解出个位十位百位ttinclude<5tdio.h>voidmain(){intx,ge9shi,tiai;For(i=l;i<=lBB008;i++)ige=WOG^10;bai=i/1B0;if(ge*ge*ge+shi*5hi*shi+bdi*bai*bdi==i)elsecontinue;利用循环和数学规律#include<^tiiinh>int)intn,i;doublezi¥muT2,n;zi=2:mij=1:m=2;scanFC'W^&n);iF(n—1)printf("UFXn"jZl/mu);else{For(i=?;i<=n;i++)(Zl=zi+[nu;mu=z;m=m+7i/nii;}priiiLFCUf\ii")ni);利用循环分解出各个位数ttinclude<5tdio.h>intniain(uoid){intx;scanFC,^d,,.&x);wtiileCx!=OHprintfC'^d";x=x/10;return0;二.实习心得:复习了数列知识和C语言循环语句的使用2015级C语言短实习第二天附加题循环语句练习题目鸡兔同笼题目描述:一知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。输入要求:第一行是测试数据的组数n,后面跟着n行输入。每组测试数据占一行,每行包含一个正整数a,代表笼子里面脚的总数。输出要求:输出包含n行,每行对应一个输入,包含2个正整数,第一个是最少的动物数,第二个是最多的动物数。如果没有满足要求的答案,则输出两个0。输入样例2320输出样例00510勤劳的蚂蚁题目描述:你能帮忙做个裁判吗,来统计一下哪只蚂蚁准备得更加多一些?输入要求:输入有若干行,每行2个数字,第一个整数表示蚂蚁(1表示1号蚂蚁,2表示2号蚂蚁,不会出现其他数字)。第二个整数表示该蚂蚁带回的食物数量,假设该数据都在合法范围内。当输入两个数字都为0(即00)时表示输入结束。输出要求:输出拖回食物多的蚂蚁的编号和食物总数量。如果相同,输出“equal”(输出不包含双引号)。输出后换行。输入样例29TOC\o"1-5"\h\z\o"CurrentDocument"761021100输出样例226蟠桃记题目描述:当时的情况是这样的:第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第「天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?输入要求:输入一个正整数n(0<n<30),表示只剩下一个桃子的事情是在第n天发生的。输出要求:输出第一天开始吃的时候桃子的总数。输入样例:4输出样例:22实现描述1.首先利用循环输入组数group,输出最少的动物数肯定是兔子,最多的是鸡。tinclude<5tdio.h>voidNidiii()inti,grnnp?nun;bCdiiF?feqr-uup);scanyM'Rnnn);iF(nuni!J;2t-OJprintFC'Ou\n");elseii(nun^y—WK]tniim^t--IIJ|ir_Inifn'\num/4,nura/2J;Q1SQpfintI—Mil^rixn",(nnn/a)i1,nnm/7j;首先利用循环判断不等于0的情况下继续,并分别求出两个蚂蚁的食物总和,然后进行判断,输出多的蚂蚁编号和食物总量。ttinclude<stdio.h>intmain(){intnuiijFood,nun)1=O,num2=0;scanF("%d%d"j&num^food);uhile(num!=0||Food!=0)<iF(num==1)num1=food+num1;elsenum2=food+nuni2;scanF("%d%d"j&num.&Food);}if(num2>nuin1)printFf'^d%d\n",2,num2);elseiF(nuin1>nuin2)printFf'^d^d\n",1,num1);elseprintFCEqualXn");return0;>倒着算就行ttinclud?<stdio.h>intmain(>{intday,5um=1;scanF(,,^d",&day);Forfday;day>1;day--)<5um=2*C5um*1);printF("^d\n",sun));实习心得复习了循环的用法嵌套循环语句练习题目输出数字金字塔。从键盘输入一个整数n,输出n行的数字金字塔。例如:输入:4输出:122334443.编程求1!+2!+...+n!5.鸡兔鸟同笼九头鸟(传说中的一种怪鸟,它有九个头,二只脚)、鸡和兔子关在一个笼子里,数数它们的头数正好是k,数数它们的脚数也正好是k。请计算其中九头鸟、鸡和兔子各有多少只?(九头鸟、鸡和兔子确保至少各有1只)要求:输入数据只包含一个整数k(k<=100),且保证有解。依次输出九头鸟、鸡和兔子的数目。如果有多组解,则每组解占一行。例如:输入:100输出:3161414实现描述利用嵌套循环打印,并注意排版ttincludB<stdiD.h>ualdn^in(J{intn,i,i;scanfC'^d'.Gn];forti=l;i<=n++)4For(]-1;]<-ni;])prinLFC"I;for(j=i;J<=iprintFf^db,,i);printFC^n-J;计算1!+2!+...+n!,利用循环嵌套,求和。ttinclude<stdio.h>uoidn)ain(){inti,j,n,k=1,5um=0;;gcanfC'^d",&n);for(i=1;i<=n;i++){k=1;for(j=1;j<=i;j4-+><k=k*j;)sun=sum+k;}printf("^d\n",sun);}利用数学知识计算,用嵌套循环先列出鸟的数量,然后判断兔和鸡是否满足条件itinclude<stdio-h>uoidmain(){intnum.birds,ji,tu;scanfC'^d",&num);For(birds=1;birds<(num/9);birds++)<ji=(3*num-34*birds)/2;tu=C16*bird5-nun)V2;iFCji>=1&&ji<=nun&&tu>=1&&tu<=nun)printFC'^d%d^dXn",birds,ji,tu);三.实习心得复习了循环的嵌套用法。循环嵌套语句练习题目哥德巴赫猜想题目描述:所谓哥德巴赫猜想是指,任一大于2的偶数都可以写成两个质数之和。例如6=3+3,8=3+5,...,18=7+11。迄今为止,这仍然是一个著名的世界难题,被誉为数学王冠上的明珠。试编写程序,验证任一大于2的偶数都能写成两个质数之和。(可能有多种情况,请输出两数差最大的那组)输入要求:输入一个大于2的偶数N。输出要求:输出两个质数和的形式,小的质数在前,大的质数在后。输入样例:16输出样例:16=3+13一.满载着爱的代码题目描述:新年快要到了,CoCo打算给每位老师写一封电子邮件,表达一下她的新年祝福。邮件写好了,直接发出去显得有点单调°CoC。想在邮件结尾附上些图案,左思右想,还是附上一个心形的字符矩阵比较好看,如图6-9所示。为了极大地表示对老师的祝福,她希望打出一个更大的心形,然而手动打字毕竟太慢,请问ACM集训队的高手,你能帮助CoC。实现她的心愿吗?输入要求:一个整数n(nW20),表示心形的突起部分的高度。输出要求:一个心形的字符矩阵。输入样例:3输出样例:************************************************3,将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。提示:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:⑴如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。⑵如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。⑶如果n不能被k整除,则用k+1作为k的值,重复执行第一实现描述1.通过调用函数实现哥德巴赫猜想tinclude^stdio.h>intbahe(intk);intnain(){intH,k,j,n1-1,n2-1;nl-bahe(k);if1-Hk;n2-bdhe(j];if(n2!=1)break;>}>elseprintf("Error\n");returno;intntx)inti,ipap=i;for(l=2:l<=(x/Z);i++Hif==«){lpjp=ll;hrejk;>i+t皿[i==iHreturnx;return1;运用函数打印字符#include<stdio.h>inti,j,k;uoidf1(){for(j=1;j<=3-i;j++)printfC>uoidf2(){for(k=1+ii;k++]printFL*,,,uoidihatn()<priuLf("J;For(i=1;i<=3;i++){f1();「W);f1();f1();r2();f1();printFC'Xn");}for(i=1;i<=10;i++)for(j=1;j<=i-1;j++)printFCfor(k=i;k<=2^-2*i;k++)printFL*”);printFCAn");}getchar();}调用循环分解质因数ttinclude<stdio-h>intnain()inti,n;scanF(,,^d,,I&n);printF(,,^d=",n);For(i=2;i<nwhile(n*=i){iF(n^i==O)<n=n/i;}elsebreak;printFC'^dXn'^n);实习心得复习了嵌套循环的使用。函数练习题目1、编写程序,输入一个正整数n,要求自定义函数计算1-?-^-的前n项和,写出函数定义和调用函数。3、输入两个正整数m和n(1<=m,n<=200),统计并输出m和n之间的素数的和。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。5、读入一个整数,统计并输出该数中2的个数。要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(12292,2)的返回值是3。实现描述调用sum函数求数列的和,用循环依次计算数列的各项。#include<stdio.h>doublesum()<inti,n,temp=1;doublesum=0;fom(i=1;i<=n;i++){sum+=1.0/temp;temp+=2;}returnsun;intmain(){printf(,,^.21f\n,,,suin());通过函数用循环并判断是否为素数,并计算求和。#incLude<5tdio_h>intprimeCintn){inti;For(i=2;i<=m/2;i++)<iFCm^i==0)return0;elsereturn1;intmai_n(){intm,n,i5surn=0;scanFC'Wd'^fiiijRn);For(m;m<=n;m++)if(prinie(n))sun*=n;printFC'sun^dXn",sun);}3.调用函数并用while循环分解出各个位,如果等于digit,count自加1,最后输出countottinclud?<5tdlo_h>intcountdlglt(intnumber,intdigit)<intcount=0;bihllpfnumber){iF(Cnumber^10)==digit)count++;number=number/10;returncount;intmain(){intnPn;pHntFL输入一个整数scanFf^d'^&m);printFL输入要查询的数字J);scanFf^d'^&n);printFf'^d^n",countdigit(m,n));}三.实习心得函数练习题目判断完全数从键盘输入一个整数n,判断其是否完全数。是完全数,输出yes。否则输出no。如果一个正整数恰好等于它所有的真因子(即除了自身以外的因子)之和,则称之为完全数(又称完美数)。如6=1+2+3,6是一个完全数。定义并调用函数prime(n),该函数是用来判断n是否为素数,若是返回1,否则返回0。在主函数中输入若干正整数,调用prime(n),根据返回值判断是否是素数,并统计素数的个数。输入两个正整数,求这两个正整数的最大公约数和最小公倍数。实现描述首先分解因子,最后判断是否相等,然后输出。1iinclude<5tdiovoidmainC){intn,m=0,i;scanFC'^d'^&n);ForCi=1;i<n;i++HiFCn^i==O)n=n+i;iFCm==n)printfC'yeeXn"):elseprintf("no\n");首先输入一系列正整数,小于0结束,然后判断素数,是返回1,否返回0,最后统计素数。#include<5tdi&.h>intprime(intn){inti;for(i=2;i<=ri/2;i++){iF(R^i==0)return9;elsereturn1;intnain(){intn,count=0,n;do{5canf(,,^d,,,fcn);}while(n>=0);if(prinie(n))counts*;printfC^dVn",count);首先选出输入两个数中较大的一个,然后交换,然后输出最大公约数和最小公倍数。ttinclude<stdio.h>uoidn)ain(){intn,m,n,ten)p,b?i;gcanf(,,^d^d"&n);if(n>n)<tenp=m;n=n;n=tenp;〃交换run>x=n;y=n;//bigwhile(y?=B){temp=x初;x胡;y=tenp;>bei=n*n/x;printf("^d",x);pnintf("^d\n",bpi);}实习心得递归练习题目1、用递归方法求斐波那契数列的函数,函数类型为整型,并写出相应主函数,斐波那契数列的定义如下:f(n)=f(n-2)+f(n-1),其中f(0)=0,f(1)=1。3、用递归函数计算xn的值。5、使用递归函数计算sum=1+2+3+•••+□(n为正整数)。实现描述利用斐波那契数列性质itinclude<stdio-h>intFunCintn){iF(n==1||n==2)return1;elsereturnfun(n-2)+fun(n-1);intnain()inti;ForCi=1;i<=50;i++)printF(''^6dXn",fun(i));递归累乘ltinclude<stdio-h>FunctiontintK9inty)<if(y==e)return1;elsereturnx*function(x,y-1);intmain()intx;scanfC'md'^&x^y);printf("^d\n"sfunction;3.递归累加ttinclud9<stdio.h>sun(intn){iF(n==1)re-turn1;elsereturnn+sum(n-1);intnain()intn;5canF(,^d".&n);printFC"^d\n",5un(n));return0;>实习心得复习了递归调用递归练习题目递归实现顺序输出整数:输入一个正整数n,编写递归函数实现对其进行按位顺序输出。如:输入:900输出:900递归实现逆序输出整数:编写实现对一个整数进行逆序处理的递归函数。函数需要有返回值,其值为逆序后的数据。如:输入:567输出:765递归实现:有雌雄一对兔子,假定过两个月便可繁殖雌雄各一的一对小兔子。问过n个月后共有多少对兔子?实现描述用递归分解出各位数ltinclude<stdio.h>voidfun(intn)if(n<10)printF("^.d\n"In);fun(n/10);printFL*d\n'・,n勒叫;intmain()intn;scanf;fun(n);return0;用递归分解各位数,倒序打印4tinclude<stdiQ.h>voidfun(inta)if(a<1B)printfelse<printsFun(a/10);intmain()inta;scanf("^d",&a);fun(a);return0;根据数学规律计算ttinclude<gtdio.h>intFunfintn)(iF(n>=3)return2*fun(n-2);elsereturn1;intmain()<intn;scanF(,,^d,,,fcn);printfC'^dVn",fun(n));return0;实习心得复习了函数递归调用和斐波那契数列文件操作练习题目从键盘输入一行字符(以回车结束),分别写到一个文本文件a.txt中,试编写相应程序。统计一个文本文件中字母、数字各有多少个,请编写相应的程序。(事先新建一个文件文件,并在里面输入若干字母、数字及其它字符)实现描述利用文件操作创建文件并写入数据即可#include<5tdio.h>uoidmain()(FILE*fp;charuord[1OQ];get5(word);if(fp=Fopen("a.txt"Fputs(word,fp);Fclose(fp);elsepHn廿(■倒建失败八先读入数据然后判断并计数ttinclude<stdio.h>ttinclude<£tdlib_h>uoidmain()charword;int1pttprjniim;FILE*「p;Int1;iF((fp=Fopen[,,a.txt,,p,,r,,))==HULL)^printF("tT开文件失败,\n・・);cxit(0];)while((word=Fgetc(Fp)?=EOF)){if((unrr1>=,A1Srftwnrr1<=,7,]||(wrrrt>='A1Rfirijnrri<='7'))letter',;elseif(wurd>='B'&&wurd<='9')num++;}print日"字母有01个,数字有初个\n",letter,nun);fclubeffp)j实习心得复习了对文件的操作,回顾了文件操作相关属性递归练习题目输出含for的行:将文本文件test.txt中所有包含字符串“for”的行输出。删除文件中的注释:将C语言源程序(hello.c)文件中所有注释去掉后存入另一个文件(new_hello.c)。请自己建立C语言源程序(hello.c):/*显示"HelloWorld!”*/#include<stdio.h>voidmain(){Printf(“HelloWorld!")}比较两个文本文件是否相等:比较两个文本文件的内容是否相同,并输出两个文件中第一次出现不同字符内容的行号及列值。实现描述1.用strstr函数判断是否相等Hinclude<stdio.h>1tinclude<string.ii>voidm-ain()str[208][10]="^or"';FILE*fp;if((fp=fopen(,,c://test.txt"'/'rt1'))==HULL)printf(-打开文件出错W);getchar();)while(fgets(str,2B0,fp))■(if(strstr(strprintf,str);}fclose(fp);)实习心得有点难……字符串练习题目编写程序,输入一个以回车结束的字符串(少于80个字符),将该字符串按逆序输出。编写程序,输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写字母替换,其余字符不变,输出替换后的字符串。原字母对应字母TOC\o"1-5"\h\zAZBYCXDWXCYBZA输入一个以回车结束的字符串(少于80个字符),把字符串中的所有数字字符(“0”〜“9”)去掉,打印出非数字字符。实现描述数组指针实现ttinclude<5tdio.ttinclude<5nain(){charstring[80];intstr;gets(string);5tr=5trlen(string);while(5tr--)printFC^C^Cstring+str));printF("\n");用数组存放输入的字符,如果A~Z范围换字母ttinclude<stdio.h>intmain(<inti=B;charstr[8B];while((5tr[i]=getchar())*=,\n,)str[i]=,\B,;For(i=0;i<str[i]!=,\0,;i++){if(str[i]>=,fi,&&str[i]<=,2,)str[i]=,fi,+,Z,-str[i];putchar(str[i]);}printfC'^cXn'^strti]);数组存储字符,如果是字母就输出,即去掉了数字#include<stdio_h>4tinclude<string.h>intmain(){chdra[80]={0};inti;scanFf'^s",&a);for(i=0;i<strlen(a)if(<a[i]>=,a,&&a[i]<=z,)||(a[i]>='A*&&a[i]<='Z1))printf("^.cXn",a[i]);实习心得回顾了字符串相关操作字符串练习题目从键盘输入一行文本,统计其中数字字符0~9出现的频率并输出。没有出现的不要显示。如:输入:HelloNo007输出:0:20出现了两次7:17出现了一次删除重复字符:输入一个以回车符结束的字符串(少于80个字符),去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。字符串字母大小写转换:输入一个以“#”结束的字符串,将小写字母转换成大写字母,把大写字母全部转换成小写字母,其他字符不变,输出到屏幕。实现描述数组存放输入的字符,如果在0~9内,则相应累加1,输出对应数字出现次数ttincludp<stdio.h>intmain(){charch=fl;inti;inta[10]={0};whiletcht^An1){scanf("Sc^.&ch);if(ch>=B0,&&ch<=,9,)<a[ch-"0"]++;>for(i=B;i<9;i++)printf(,,,fed:%d\n"«i,a[i]);for循环遍历数组,找出重复的并覆盖ttinclude<stdio.h>ttinclude<string.li>intmainOchara[5Q],b[5Q];inti,j,k;gets(a);k=strlen(j);for(i=0;i<k;i++)for(j=i+1;j<k;j++)if(^[j]==j[i])J[j]=,\0,;for(i=0;i<k;i++)if(j[i]!=,\0,)printf,a[i]);printfCAn");return0;3.大小写转换,利用字母ASCII相差32ttinclude<stdio_h>intmain(){chara[50];inti;gets(a);For(i=e;a[i]!=,\0,:i++)iF(a[i]>=,a,8cfta[i]<=,z,)a[i]=32;elseiF(a[i]>=,fi,fc&a[i]<=,Z,)a[i]*=32;puts(a);return0;实习心得回顾了字符串相关操作一维数组练习题目最大值和最小值(题号:1152)从键盘输入任意的10个整数,从中找出最大值和最小值,并输出。输出要求:最大值和最小值各占一行。输入样例:254783541320输出样例:541一维数组删除(题号:1154)有5个整型数据存储在数组中,再输入一个数值key,删除数组中第1个等于key的元素,并将剩余的4个数据输出。如果key不是数组中的元素,则显示“notfound"。输入要求:先从键盘输入5个整数,然后再输入一个待删除的数据key。输出要求:输出删除后的结果,若不存在,则输出notfound。输出的每个数据后面都有空格。输入样例:8065931008193输出样例:5100815.百灯判熄(题号:1122)82有M盏灯,编号为1〜M,分别由相应的M个开关控制。开始时全部开关朝上(朝上为开,灯亮),然后进行以下操作:编号凡是1的倍数的灯反方向拨一次开关;是2的倍数的灯再反方向拨一次开关;是3的倍数的灯又反方向拨一次开关,......,直到是M的倍数的灯又方向拨一次开关。请从键盘输入一个整数m代表灯的数量,求出最后为熄灭状态的灯(不亮)的数量以及编号并输出。83输入要求:84输入一个整数m(1<=n<=100)。85输入要求:86输出为两行,第一行是熄灭状态的灯的数量;第二行是最后为熄灭状态的灯的编号(每个数据以4列的域宽显示)。87输入样例:8810089输出样例:1014916253649648110092注意:93输出控制为%4d实现描述输入十个数存入数组,循环判断最大最小值ttinclude<5t:dio.h>uoidmainf)inta[1Q],i,nin;scanf;maK=min=a[Q];forB;i++){if(nax>a[i])max=a[i];if(nin<a[i])min=a[i];}printf,min,max);}数组存入5个数和key如果相等的,后一位值赋给前一位。ttinclude<5tdio.li>voidnain(){inta[5],i,j,啊;for(i=B;i<5;i++)scanfC,i(i,,,&a[i]);scanf;for(i=0;i<5&E;a[i]!=key;i++);if(i==5)printf("notf□und\n,');a[j]=a[j*1];for(i=0;i<3;i++)printfC^dprintfC'^dVn'^atS]);3.一维数组加数学知识itinclude<stdio-h>intmain(){intj=B,i=1,n;whileCi*i<=n)<if>printFC'^dXn",j);Forfi=1;i<=j:i++){printFL孙tT\m):>printFC'Xn");实习心得一维数组一.练习题目个位数出现的次数(题号:1252)Description输入若干个正整数,统计其中个位数0~9出现的次数。输入要求:输入若干个正整数,以ctrl+z作为结束符号。输出要求:输出个位数0~9出现的次数,未出现过的不用显示。输入样例:1009896500078AZ输出样例:0:35:16:18:1一维数组中剔除0(题号:1194)给定一组数组,将其中的数字0去掉并且输出剩余的元素。输入要求:第一行输入一个整数n代表数组长度(1<=n<=50)。第二行输入这n个数。输出要求:输出除0后的数组。输入样例:515060输出样例:156简单一维数组与排序(题号:1156)1.期末考试结束了,陈老师找到集训队的同学,希望帮忙开发一个成绩排序的系统。这个应该难不倒集训队员的,先做一个内部小测试吧。随意输入10个学生的成绩,按从高到低的序列显示。输入要求:输入10个学生的成绩输出要求:输出从高到低的排序结果。输入样例:070605091721820输出样例:9080727060501820注意:最后一个数据的后面不需要空格,直接加换行符susan的货币兑换(题号:1167)Susan到中国观光旅游,她不太熟悉人民币,因此分别将1角,2角,5角,1元,2元,5元,10元,20元,50元,100元的人民币依次排序号(从1开始排序号),她每天将自己手中不同面值人民币的张数输入iPAD,以计算手头的人民币数额。请你帮她编写一个程序,可以根据她手中的不同面值人民币的张数,计算出对应的人民币数额。输入要求:输入人民币序号及张数。每种面值占据一行。如520表示序号为5的人民币有20张。当输入序号或张数为负数时结束。输出要求:输出对应的人民币数值。保留2位小数。输入样例:208401010-10输出样例:1840.00实现描述2.若不为0,则将a[i]赋给b[i],m自加1ttinclude<stdio.h>UD*idm^in()lota[5D],t)[5D];inti,n¥n=0:£canF(,,td",^n);for(i-0;i<nscantyFor(i=0:i<n:i++Hb[in]-d[i];m++;for(i=0;i<m-1printFC'^d"^[i]);pr"FgdW,h[m-Tn:数组排序itinclude<£tdio.h>ucidnain()intaL1mJ;inti,j,m,T-fDr(i=ii;i<iM;i++)gn+mn■'隔Lij);for(i=n;i<ym=i:for(j=i*1;j<lfl;j++)If(d[j]<d[m])ih=i;ifaril-ar^l;aFml-t;)}fcr<i-9)printf("%d",a[i]);printf("^d\n,,,n[0]);}利用二位数组ttinclude<stdio.h>uoidmainO<inta,b,i;doubles=0;scanFC^d'^&a^b);doubled[10][10]=<<1,0.1},{2,0.2},<3,0.5},{4,1},{5,2},{6,5},{7,10},{8,28},{9,50},{10,108>>;uniie(d>=8&&b>=e)<For(i=B;i<1B;i++)iF(a==d[i][0])s=s+b*d[i][1];scanF(,,^d,,,&a,&b);>printFC^^lFXn'^s);实习心得二维数组练习题目1.二维数组求行平均值(题号:1142)Description输入3X3的二维数组,求每行元素的平均值。Input输入3X3个数据。Output输出每行的平均值。每个数据各占一行。保留1位小数。SampleInput956878657788948273SampleOutput80.376.783.0二维数组最大值及位置(题号:1162)Description有一个3X4的矩阵,要求编程求出其中值最大的那个元素,以及其所在的行号和列号。(如果最大数有多个,则显示第1个出现的数据的信息)Input从键盘输入12个数字组成一个3X4的矩阵。Output输出矩阵中最大值,以及其所在的行号和列号。如有多个最大值,则显示第1个出现的。SampleInput53420691SampleOutput02文章中字符数统计(题号:1150)Description有一篇文章,共3段文字,每段不超过1000个字符。要求分别统计其中英文大写字母、英文小写字母、数字的个数。Input输入3段文字Output输出统计结果,依次显示大写英文字母、小写英文字母、数字的个数。SampleInputManyofmyclassmatescomplainabouttheirFathers,becauseTheyarebusyallthetimeandbarelyhavetimetocompanythem.ButmyfatherisDifferent,thoughheisbusy,HestillsparesometimetoplaywithmeandhelpmewithmyHomework.IamsoluckytohaveSuchafatherheistheBestfatherintheworld.SampleOutput92900二.实现描述1.用数组储存数据,for循环进行求和,并输出平均值flinclude<stdio.h>uoidn)ain()<inta[3][3],i,j;doubled-6,b-BFor(i=B:i<3:i++)For(j=B;j<3;j++){scanfc^d",&a[l][J]);>For(j=0;j<3;j++){d=a*aiujLJj;h=b^[i][j];c=c*a[2][j];}printfC^.IFXn'^d^.8/3);printf,b*1.0/3];printfC^.IFXn'^c^.8/3];>数组存储数据,for循环遍历并输入,利用中间值交换,输出最大值#include<stdio.h>uoidmain()<inta[3][4];inti,j,max,c=0,b=B;for(i=B;i<3;i++)for(j=8;j<4;j++)scanFC^d'^&aEiJtj]);max=a[O][0];for(i=0;i<3;i++){For(j=0;j<4;j++){iF(max<a[i][j]){max=a[i][j];c=i;b=j;printF("^d%d%d\n",max,c,b);获取输入,用字符串连接函数得到值,并统计大小写英文及数字个数#include<5tdio.h>ttinclud9<£tring.h>UOidmain()(ch^rch[1996],ch1[3O03],ch2[3060];;int1=fl,r1=flJ[ii=n,(;=fi,n;MbLbfLhl;gets(ch1);gGts(ch2);strcatfcri;LrgjL(cli;n-5trlen(ch>;forti=n:i<n;1++J<iF(Ch[il>=-0-Glfccn[i]<=-9-)elseif(ch[i]>=,fi,&tch[i]<=)n++:elseiF(ch[i]>-,a,&ftch[i]<-'z1)卜printFf'^d抑%d\nMad,ni,5];实习心得二维数组一.练习题目二维数组的鞍点(题号:1181)Description找出一个2维数组矩阵的鞍点,即该位置上的元素在该行中最大,在该列中最小,可能不存在鞍点,如果存在多个,输出最小的那个!Input输入n,m表示二维矩阵的行数和列数,然后根据行列数输入nXm个数据构成一个二维矩阵。Output如果存在鞍点,则输出该鞍点的值,如果不存在则输出notexistoSampleInput452345468106912158121620SampleOutput5清除行注释(题号:1138)Description给出一个C++源程序代码。请将其中的注释去掉。Input输入若干行源程序代码(含注释)。注释全部采用行注释的形式,即用双斜杠开头的字符串,后面的内容全部做为注释内容(包含双斜杠)。Output输出去掉注释后的代码,其余内容不变。SampleInput//===========================//helloworldprogram//===========================#include<stdio.h>//main(){printf("HelloWorld!");}//SampleOutput#include<stdio.h>main(){printf("HelloWorld!");}3.城市名排序(题号:1185)Description从键盘输入n个字符串,对n个字符串(例如n个城市名)进行升序排序并输出。Input第1行输入一个整数n,接着输入n个字符串,每个字符串以换行符结束,一个字符串内部不包含空格。Output输出排序后的城市名字,每个占据一行。SampleInput5tianjinqingdaoguangzhouanshanliaoningSampleOutputanshanguangzhouliaoningqingdaotianjin二.实现描述1.利用二维数组存储数值,for循环寻找鞍点ttinclude<stdio.h>intmain(){inta[1OO][100]inti,j,k=0,max,maxj,Flag1=1,Flag2=B;scanf;For(i=0;i<x;i++)For(j=B;j<y;j++)scanFC^d'^&aEiJtj]);for(i=B;i<x;i++){max=a[i][0];maxj=8;For(j=B;j<y;j++)if(max<a[i][j]){max=a[i][j];maxj=j;}For(k,l=lag1;k<x&&1:lag1;k++)iF(max>a[k][maxj])flag1=B;printF("^d\n",max);flag2=1;iF(flag2==B)printFf'notexist\n");>利用循环如果遇到“/”中断循环,否则打印ttinclude<stdio.ti>voidrnainO{chara[10GO];inti-0;unlle(yeLb(d)){lLor(i=«;aLijt=-x«,;i++){iF(a[i]==,/&ta[i+1]==V)break;elseprintf("^c"pa[i]);>printFC'Xn");比较字符ASCII码,中间变量交换,打印ltinclud«<5tdio.h>ltinclud«<5tring.h>nain()<intn,i,j,nin;chars[109][190],*p[10B],*t;scanf("^d",&n);getchar();for(i=0;i<n;i++){gets(s[i]);P[i]==[i];}for(i=fl;i<n-1;i++){nin=i;for(j=i+1;j<n;if(strcnp(p[i]Pp[j])>B){t=p[i];p[i]=p[j]:p[j]=t;>}for(i=0;i<n;i++)printF(,嘴;实习心得指针练习题目1.无序数组的查找从键盘输入10个整数(每个元素各不相同),然后再输入一个待查找的数据key,查找该数组中是否存在值为key的数组元素。如果有,则输出相应的下标;否则,输出notfound。已知数组无序排列。连接字符串输入2个字符串(长度都不超过100),每个字符串以换行结束。编程连接2个字符串。不要使用strcat库函数。数字剔除六一节的这一天学校是不上课的,而是安排了很多活动。Coco和同学们一起去参加游戏,这可是有奖品的奥。Coco现在要参加一个叫做数字剔除的游戏,主持人报出一串字符串,要求Coco听三遍以后,把里面包含的数字剔除,再报出剔除数字以后剩下的字符串内容。这可是很考验毅力的。你是否可以编程帮助Coco实现该操作呢?要求:输入一串字符串,其中可能会包含空格。输出剔除数字后剩下的字符串内容。实现描述1.数组存储输入,判断两值相等则输出,否则notfound.ttinclude<stdio_ii>voidmain()(inta[10];inti,s=0;f□r(i=0;i<1O;i++)scanFC'^d'^&ati]);gcanFf'^d";for(i=0;i<10;i++)if(key==a[i]Hprintf;s’*;>printf("notFound\n,");数组存储输入的数据,将后一个数组赋给前一个数组ttlncludp<stdio_h>ttinclud9<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论