实验一C程序运行环境及简单程序的运行_第1页
实验一C程序运行环境及简单程序的运行_第2页
实验一C程序运行环境及简单程序的运行_第3页
实验一C程序运行环境及简单程序的运行_第4页
实验一C程序运行环境及简单程序的运行_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

广西科技大学实验报告 《C语言程序设计》成绩GuangxiUniversity成绩《C语言程程序设计计》实验报报告院(系)::计算机机学院专业:通信信工程班级:通通信1332班学生姓名::王王睿学号:2201330044020042上课时时间::20113-20014(1)指导老老师::王王智文广西科技大学实验报告 《C语言程序设计》实验一C程程序运行行环境及及简单程程序的运运行一、实验目目的(1)了解解所用的的计算机机系统的的基本操操作方法法,学会会独立使使用该系系统。(2)了解解在该系系统上如如何编辑辑、编译译、连接接和运行行一个CC程序序。(3)通过过运行简简单的CC程序序,初步步了解CC程序序的特点点。二、实验内内容1.下列程程序的功功能为::计算xx*y的的值并将将结果输输出,程程序中有有8处错错误,尝尝试改正正并上机机调试之之(程序序以文件件名syy1_22.cppp存盘盘)。#inclludee<sstdiio.hh>voidmaiin{ iintx=22;y==3;aaA=x*yyprintt(""a=%%d",,a);; prinntf((‘\nn’);; }2.下列程程序的功功能为::输入圆圆的半径径,计算算圆面积积并将结结果输出出;程序序中有99处错误误,尝试试改正并并上机调调试之(程程序以文文件名ssy1__3.ccpp存存盘)。#inclludeesttdioo.h;;intmmiann();;floattrr;aareaa;pprinntf(("innputtrr:\n"");sscannf(""%f"",r));area==3.1141559r**r;printtf(""r=%%f,,aareaa=%ff\n"",arrea));3.编写一一个程序序实现输输入三个个整数,显显示出其其中的最最大值。三、实验分分析与总总结⑴总结CC程序的的结构和和书写规规则。⑵阅读::附件AA-在VVisuualC+++环境下下运行CC程序的的方法。特别提示::当程序序在编译译时发现现很多错错误,此此时应从从上到下下逐一改改正,或或改一个个错误,就就重新再再编译,因因为有时时一个错错误会引引起很多多错误信信息。四、相关实实验程序序列表1#inclludee<sstdiio.hh>voidmaiin()){ iintx=22,y==3,aa;a=x*yy;printtf(("a==%d"",a)); prinntf(("\nn");; }2#inclludee<sstdiio.hh>;intmmainn(){floaatr,areea;pprinntf(("innputtrr:\nn");;sscannf(""%f"",r));area==3.1141559*rr*r;;printtf(""r=%%f,,aareaa=%ff\n"",arrea));}3#inclludee<sttdioo.h>>intmmainn(){intmmax((inttx,,intty,,inttz));intaa,b,,c,dd;scanff("%%d,%%d,%%d",,&a,,&b,,&c));d=maxx(a,,b,cc);printtf(""maxx=%dd\n"",d));returrn00;}intmmax((inttx,,intty,,inttz)){ intw; if(xx>y))w=xx; elseew==y; intq; if(ww>z))q=ww; elseeq==z; retuurn((q);;}五、实验心心得通过这次学学习,我我学会了了编辑、编编译、连连接和运运行一个个C程程序,初步了了解了C程程序的特特点,我我感到很很高兴,我我会努力力把基础础学好。实验二基本本数据类类型、运运算和表表达式一、实验目目的(1)掌握握C语语言数据据类型,熟熟悉如何何定义一一个整型型和实型型的变量量,以及及对它们们赋值的的方法。(2)掌握握不同的的类型数数据之间间赋值的的规律。(3)学学会使用用C的的有关算算术运算算符,以以及包含含这些运运算符的的表达式式,特别别是自加加(+++)和自自减()运运算符的的使用。(4)进一一步熟悉悉C程程序的编编辑、编编译、连连接和运运行的过过程。二、实验内内容1.[变量量定义,按按要求完完成程序序]下面给出一一个可以以运行的的程序,但但是缺少少部分语语句,请请按右边边的提示示补充完完整缺少少的语句句。#inclludee"sstdiio.hh"main((){;/*定定义整型型变量aa和bb*/;/*定定义实型型变量ii和jj*/a=5;b=6;i=3.114;j=ii*a**b;printtf(""a=%%d,bb=%dd,i==%f,,j=%%f\nn",a,b,i,j);;}[具体操作作步骤]](1)将代代码补充充完整;;(2)在VVC+++上运行行通过并并写出运运行结果果。2.[在显显示屏上上显示指指定字符符]要求编写一一个程序序,在显显示屏上上显示如如下内容容(全为为半角字字符,且且不包含含空格)::C:\\ABCC.TXXT[提示]注意转转义字符符在程序序中的使使用。3.[赋值值表达式式与赋值值语句,写写出程序序运行结结果]阅读下面程程序,写写出运行行结果::#inclludee"sstdiio.hh"main((){flooata;intbb,cc;chard,e;a=3.55;b=a;c=3300;d=c;e='\1141'';printtf(""%f,,%d,,%d,,%c,,%c"",aa,b,,c,dd,e));}运行结果为为:[提示]赋赋值语句句具有类类型转换换的功能能,但可可能会改改变数据据。4.[基基本运算算,写出出程序运运行结果果]阅读下面程程序,写写出运行行结果::#inclludee"sstdiio.hh"main((){intta,,b,,c;;floattd==15,,e,,f;;a=35%%7;b=15//10;;c=b+++;e=15//10;;f=d/110;printtf(""%d,,%d,,%d,,%f,,%f,,%f"",aa,b,,c,dd,e,,f);;}运行结果为为:[提示]除除法分整整除与普普通除法法之分。三、实验分分析与总总结⑴总结如如何定义义C程序序的数据据类型,运运算符的的优先级级别,赋赋值表达达式的作作用。⑵程序4中中的b+++改写写为+++b后的的结果会会变化吗吗?四、相关实实验程序序列表1#inclludee"sstdiio.hh"intmmainn(){intaa=5;;intbb=6;;floatti==3.114;floattj==i*aa*b;;printtf(""a=%%d,bb=%dd,i==%f\\n",,a,,b,,i));printtf(""j=%%f\nn",jj);returrn00;}2#inclludee"sstdiio.hh"intmmainn(){ prinntf(("C::\\AABC..TXTT");;}3#inclludee"sstdiio.hh"main((){flooata;intbb,cc;chard,e;a=3.55;b=a;c=3300;d=c;e='\1141'';printtf(""%f,,%d,,%d,,%c,,%c"",aa,b,,c,dd,e));}4#inclludee"sstdiio.hh"main((){intta,,b,,c;;floattd==15,,e,,f;;a=35%%7;b=15//10;;c=b+++;e=15//10;;f=d/110;printtf(""%d,,%d,,%d,,%f,,%f,,%f"",aa,b,,c,dd,e,,f);;}五、实验心心得通过这次学学习我学学会了整整型和实实型的变变量,以以及对它它们赋值值的方法法和使用CC的有有关算术术运算符符,以及及包含这这些运算算符的表表达式,我会巩固所学到的知识,继续努力。实验三基本本输入与与输出一、实验目目的(1)熟练练掌握pputccharr、geetchhar、pprinntf、sscannf函函数的使使用方法法。(2)掌握握各种类类型数据据的输入入输出的的方法,能能正确使使用各种种格式转转换符。二、实验内内容1.[字符符的输入入与输出出]编程实现由由键盘输输入一个个字符后后,在屏屏幕上输输出该字字符。参考程序::#inclludee"sstdiio.hh"main((){chaarcch;ch=gettchaar());putchhar((ch));}2.[加法法计算]]编程实现由由键盘输输入一个个加法式式,输出出正确的的结果。(两两个加数数均为整整数)。参考程序::#inclludee"sstdiio.hh"main((){intta,,b;;scanff("%%d%**c%dd",&a,,&b));printtf(""%d"",aa+b));}3.[求圆圆的面积积]由键盘输入入圆半径径r,请请计算该该圆的面面积。(注注:π取3..141159,结结果保留留两位小小数位;;另外,程程序只要要能对rr在00到1100000范范围的情情况输出出正确答答案即可可)。参考程序::#inclludee"sstdiio.hh"main((){flooatareea,rr;scanff("%%f",,&r));area==3.1141559*rr*r;;printtf(""%0..2f"",arrea));}运行结果为为:4.[计计算摄氏氏温度值值]从键盘输入入一个华华氏温度度值,要要求按格格式输出出其对应应的摄氏氏温度值值,精确确到小数数点后两两位。数学公式描描述为::参考程序::#inclludee<sttdioo.h>>main((){flooatf,cc;scanff("%%f",,&f));c=5.00/9**(f--32));printtf(""%.22f",,c);;}运行结果为为:三、实验分分析与总总结⑴各实验运运行结果果及分析析。⑵程序22中%*cc的含义是是什么??(3)程程序4中中c=55.0//9*((f-332),,为什么么要用55.0,如如果改为为5,运运行结果果将会是是什么??四、相关实实验程序序列表1#inclludee"sstdiio.hh"intmmainn(){chaarcch;ch=gettchaar());putchhar((ch));putchhar(('\nn');;}2#inclludee"sstdiio.hh"main((){intta,,b;;scanff("%%d%**c%dd",&a,,&b));printtf(""%d\\n",,a++b);;}3#inclludee"sstdiio.hh"main((){flooatareea,rr;scanff("%%f",,&r));area==3.1141559*rr*r;;printtf(""%0..2f\\n",,areea);;}4#inclludee<sttdioo.h>>main((){flooatf,cc;scanff("%%f",,&f));c=5.00/9**(f--32));printtf(""%.22f\nn",cc);}五、实验心心得通过这次学学习,我我熟悉了了puttchaar、ggetccharr、prrinttf、sscannf函函数的使使用方法法以及各种种类型数数据的输输入输出出,能够正确使使用各种种格式转转换符,我我感受到到了学习习c语言言的乐趣趣。实验四顺序序结构程程序设计计一、实验目目的(1)熟练练掌握顺顺序结构构程序设设计的设设计方法法。(2)掌握握各赋值值语句的的正确使使用方法法。(3)学习习进一步步调试程程序。二、实验内内容1.[siizeoof运算算符的使使用方法法]以下程序用用于测试试C中不不同类型型数据所所占内存存字节数数,运行行并体会会sizzeoff运算符符的使用用方法。//sizzeoff运算的的结果为为一个iint型型的整数数,表示示其求解解对象的的存储所所占的内内存字节节数。#inclludee<sstdiio.hh>voidmaiin()){ intta==1; prinntf(("Siizeofchaariis%%d\nn",sizzeoff(chhar))); prinntf(("Siizeofshoortis%d\\n",,siizeoof(sshorrt))); prinntf(("Siizeofinttiss%dd\n"",ssizeeof((intt));; prinntf(("Siizeoflonngiis%%d\nn",sizzeoff(loong))); prinntf(("Siizeofflooatis%d\\n",,siizeoof(ffloaat))); prinntf(("Siizeofdouubleeiss%dd\n"",ssizeeof((douublee));; prinntf(("Siizeofboooliis%%d\nn",sizzeoff(boool))); prinntf(("\nn");;priintff("SSizeeoffais%d\\n",,siizeoof(aa));;//变变量的类类型所占占内存字字节数 prinntf(("Siizeof2.00*100iss%dd\n"",ssizeeof((2.00*100));;//表表达式运运算结果果的类型型所占字字节数Sizeofcharis1Sizeofshortis2Sizeofintis4Sizeoflongis4Sizeoffloatis4Sizeofdoubleis8Sizeofboolis1Sizeofais4Sizeof2.0*10is8sizeofLiuDehuais10Pressanykeytocontinueprinttf(""sizzeoofLLiuDehhuais%d\\n",,siizeoof(""LiuuDeehuaSizeofcharis1Sizeofshortis2Sizeofintis4Sizeoflongis4Sizeoffloatis4Sizeofdoubleis8Sizeofboolis1Sizeofais4Sizeof2.0*10is8sizeofLiuDehuais10Pressanykeytocontinue}参考结果2.[分析析程序的的输出结结果]阅读并分析析以下程程序的输输出结果果,上机机调试,对对比实际际的输出出与分析析的结果果是否一一致。#inclludee<sstdiio.hh>voidmaiin()){ chaarcch=665;intaa=12234;;lonnggg=12234556788; floaatff=1223.44567789;;douubleed==9.88765543221E55; prinntf(("%dd,%cc,%55d,%%3c\nn",cch,cch,cch,cch);; prinntf(("%008d,,%0++8d,,%8dd,%oo,%77x,%%10lld,%%ld\n"",a,,a,aa,a,,g,gg); prinntf(("%0010..3f,,%-110.33f,%%10..3f,,%f,,%e,,%g\\n",,f,ff,f,,f,ff,f)); prinntf(("%00+155.5llf,%%-155.5llf,%%15..5lff,%llf,%%le\\n",,d,dd,d,,d,dd); prinntf(("%110s\\n%220s\\n%--10..3s\\n%ss\n"","HHelllo,wworlld!"","HHelllo,wworlld!"","HHelllo,wworlld!"","HHelllo,wworlld!"");}参考结果65,A,65,A65,A,65,A00001234,+0001234,1234,2322,bc614e,12345678,2367460000123.457,123.457,123.457,123.456787,1.234568e+002,123.457+00987654.32100,987654.32100,987654.32100,987654.321000,9.876543e+005Hello,world!Hello,world!HelHello,world!3.[程序序修改]]下列程序的的功能为为:按下下列公式式计算并并输出xx的值。其其中a和和b的值值由键盘盘输入。x=22ab//(a++b)22请纠正程序序中存在在的错误误,使程程序实现现其功能能。#inccludde<<stddio..h>voiddmaain((){intta,,b;flloattx;;sccanff("%%d,%%d",,a,bb);x=ab//(a++b)((a+bb);prinntf(("x==%d\\n",,x);;}4.[编编写与调调试程序序]写一个程序序测试一一下把带带小数的的flooat和和douublee型数据据用prrinttf函数数输出时时,小数数部分是是截断还还是四舍舍五入??三、实验分分析与总总结⑴各实验验运行结结果及分分析。⑵程序11中LiuuDeehuaa的sizzeoff的值为为什么是是10还还不是99?四、相关实实验程序序列表1#inclludee<sstdiio.hh>voidmaiin()){ intta==1; prinntf(("Siizeofchaariis%%d\nn",sizzeoff(chhar))); prinntf(("Siizeofshoortis%d\\n",,siizeoof(sshorrt))); prinntf(("Siizeofinttiss%dd\n"",ssizeeof((intt));; prinntf(("Siizeoflonngiis%%d\nn",sizzeoff(loong))); prinntf(("Siizeofflooatis%d\\n",,siizeoof(ffloaat))); prinntf(("Siizeofdouubleeiss%dd\n"",ssizeeof((douublee));; prinntf(("Siizeofboooliis%%d\nn",sizzeoff(boool))); prinntf(("\nn");;priintff("SSizeeoffais%d\\n",,siizeoof(aa));;//变变量的类类型所占占内存字字节数 prinntf(("Siizeof2.00*100iss%dd\n"",ssizeeof((2.00*100));;//表表达式运运算结果果的类型型所占字字节数printtf(""sizzeoofLLiuDehhuais%d\\n",,siizeoof(""LiuuDeehuaa")));///字符串串所占内内存字节节数}2#inclludee<sstdiio.hh>voidmaiin()){ chaarcch=665; inta=112344;lonnggg=12234556788; floaatff=1223.44567789;;douubleed==9.88765543221E55; prinntf(("%dd,%cc,%55d,%%3c\nn",cch,cch,cch,cch);; prinntf(("%008d,,%0++8d,,%8dd,%oo,%77x,%%10lld,%%ld\n"",a,,a,aa,a,,g,gg); prinntf(("%0010..3f,,%-110.33f,%%10..3f,,%f,,%e,,%g\\n",,f,ff,f,,f,ff,f)); prinntf(("%00+155.5llf,%%-155.5llf,%%15..5lff,%llf,%%le\\n",,d,dd,d,,d,dd); prinntf(("%110s\\n%220s\\n%--10..3s\\n%ss\n"","HHelllo,wworlld!"","HHelllo,wworlld!"","HHelllo,wworlld!"","HHelllo,wworlld!"");}3#inclludee<sstdiio.hh>voiddmaain((){inntaa,b;;flloattx;;sccanff("%%d,%%d",,&a,,&b));x==(flloatt)a**b/(((a++b)**(a++b)));prrinttf(""x=%%f\nn",xx);}4#inclludee<sstdiio.hh>intmmainn(){floaataa=1..5555555555555;doubllebb=1..5555555555555;printtf(""%f,,%f\\n",,a,bb);returrn00;}五、实验心心得通过这次学学习,我我基本掌掌握了顺序结结构程序序设计的的设计方方法以及及各赋值值语句的的正确使使用方法法,我会努努力熟悉悉他们以以便更好好地设计计程序。实验五选择择结构程程序设计计一、实验目目的(1)了解解C语语言表示示逻辑的的方法(以以0代代表“假”,以非非0代代表“真”)。(2)学会会正确使使用逻辑辑运算符符和逻辑辑表达式式。(3)熟练练掌握iif语语句和sswittch语句。(4)结合合程序掌掌握一些些简单的的算法。二、实验内内容1.[判断断点是否否在圆上上]由键盘输入入一个点点的坐标标,要求求编程判判断这个个点是否否在单位位圆上,点点在圆上上输出YY,不在在圆上输输出N。使使用小数数点后33位精度度进行判判断。[提示](11)平面面上的点点与圆的的关系分分为在圆圆内、在在圆上、在在圆外三三种,本本题要求求判断是是否在圆圆上;(22)判断断两实数数相等采采用判断断这两实实数的差差的绝对对值小于于规定误误差精度度(本题题为0..0011)的方方法实现现。参考程序::#inclludee"sstdiio.hh"#inclludee"mmathh.h""main((){flooata,bb;scanff("%%f,%%f",,&a,,&b));if(faabs((a*aa+b**b-11)<11e-33)printtf(""Y\nn");;elsepriintff("NN\n"");}2.[求数数的位数数]由键盘输入入一个不不多于99位的的正整数数,要求求输出它它是几位位数。[提示]划划定一位位数、二二位数、…、九位数的范围,然后用if…elseif…else语句实现判断。参考程序::#inclludee"sstdiio.hh"main((){inttn,,plaace;;scanff("%%ld"",&nn);if(n>>9999999999))pllacee=9;;elseif((n>9999999999)pplacce=88;elseif((n>99999999))pllacee=7;;elseif((n>9999999)plaace==6;elseif((n>999999)pplacce=55;elseif((n>9999))pllacee=4;;elseif((n>999)plaace==3;elseif((n>99)pplacce=22;elseplaace==1;printtf(""%ldd\n"",pllacee);}3.[程序序修改]]下列程序的的功能为为:输入入1个字字母后,输输出该字字母的前前序字母母、该字字母、该该字母的的后序字字母,例例如:输输入g,则则输出ffgh;;输入aa,则输输出zaab;输输入M,则则输出LLMN;;输入ZZ,则输输出YZZA。#inclludee<sstdiio.hh>voidmaiin()){ccharrchh,c11,c22; priintff("EEnteeraachharaacteer:"");cch=ggetccharr();;iif(((ch>>='aa')|||(cch<=='z'')) ch--=322;cc1=cch-11;c22=chh+1;;iif(cch=''A'))cc1=cch+225;eelseeiff(chh='ZZ')c22=chh-255;pputccharr(c11);pputccharr(chh);pputccharr(c22);pputccharr('\\n'));}请纠正程序序中存在在的错误误,使程程序实现现其功能能。4.[字字符变换换]由键盘输入入5个个字符,将将其中的的大写字字母变成成小写,其其它类型型的字符符不变,并并按输入入顺序逐逐个输出出。[提示]下下面代码码实现由由键盘读读入一个个字符,并并按题意意处理后后输出chara;a=gettchaar());if(a>>='AA'&&&aa<=''Z'))a==a+332;putchhar((a);;现在,题目目要求处处理5个字符符,怎么么做呢??请自己己思考………5.[简简单计算算器]下面程序是是实现一一个简单单的运算算器(保保留两位位小数点点),如如果由键键盘输入入10++50,计计算机可可以输出出结果660.000;如如果输入入8*66,计算算机输出出48..00;;如果输输入200/4,计计算机输输出5..00;;如果输输入8--6,计计算机输输出2..00,请请在空处处填上适适当的代代码,运运行通过过后并提提交。#inclludee"sstdiio.hh"main((){flooata,bb,c;;charop;;scanff("%%f%cc%f"",));switcch((op)){casse''+'::;;case'-'':;case'*'':;case'/'':;;defauult::prrinttf(""errror"");returrn;;}printtf(""ressultt="",cc);}6.[编编写与调调试程序序]输入三角形形的三边边长a、b、c,求其面面积三角角形的面面积公式式为:Areea=,其中S==(a++b+cc)/22。(要要求判断断边长值值的合法法性与三三角形的的可构成成性)。参考程序::#inclludee"sstdiio.hh"#inclludee"mmathh.h""///数学学函数库库头文件件voidmaiin()){ doubblea,bb,c,,s,aareaa;pprinntf("请请输入三三角形三三边长::\n"");scanff("%%lf,,%lff,%llf",,&a,,&b,,&c)); if(aa<=00||bb<=00||cc<=00)//有有任一边边边长小小于等于于0 priintff("边边长必须须为正!!\n""); elsee if((a+bb>c&&b+cc>a&&a+cc>b))//任任意两边边之和对对于第三三边 { s==(a++b+cc)/22; arrea==sqrrt(ss*(ss-a))*(ss-b))*(ss-c)));///dooubllessqrtt(dooubllexx):求求平方根根值 prrinttf(""areea=%%lf\\n",,areea);; } elsse prrinttf(""不能构构成三角角形!\\n"));}三、实验分分析与总总结⑴各实验验运行结结果及分分析。⑵程序11中误差差精度(设设置为00.0000011),怎怎样修改改程序??⑶程序4中中要求反反序输出出大写字字母,怎怎样修改改程序??四、相关实实验程序序列表1#inclludee"sstdiio.hh"#inclludee"mmathh.h""main((){flooata,bb;scanff("%%f,%%f",,&a,,&b));if(faabs((a*aa+b**b-11)<11e-33)printtf(""Y\nn");;elsepriintff("NN\n"");}2#inclludee<sstdiio.hh>main((){inttn,,plaace;;scanff("%%ld"",&nn);if(n>>9999999999))pllacee=9;;elseif((n>9999999999)pplacce=88;elseif((n>99999999))pllacee=7;;elseif((n>9999999)plaace==6;elseif((n>999999)pplacce=55;elseif((n>9999))pllacee=4;;elseif((n>999)plaace==3;elseif((n>99)pplacce=22;elseplaace==1;switcch(pplacce){case9:pprinntf(("%lld\nn");;breeak;;case8:pprinntf(("%lld\nn");;breeak;;case7:pprinntf(("%lld\nn");;breeak;;case6:pprinntf(("%lld\nn");;breeak;;case5:pprinntf(("%lld\nn");;breeak;;case4:pprinntf(("%lld\nn");;breeak;;case3:pprinntf(("%lld\nn");;breeak;;case2:pprinntf(("%lld\nn");;breeak;;case1:pprinntf(("%lld\nn");;breeak;;defauult::("eenteerddateeerrrorr!\nn");;}}3#inclludee<sstdiio.hh>voidmaiin()){ccharrchh,c11,c22; priintff("EEnteeraachharaacteer:"");cch=ggetccharr();;iif((((chh>=''b'))&&((ch<<='yy')))||(((chh>=''B'))&&((ch<<='YY')))) {c1==ch--1;cc2=cch+11;}eelseeiff((cch==='A'')|||(chh==''a'))){{c1==ch++25;;c2==ch++1;}}eelseeiff((cch==='Z'')|||(chh==''z'))){{c2==ch--25;;c1==ch--1;}} elseeprrinttf(""reEEnteeraachharaacteer:"");pputccharr(c11);pputccharr(chh);pputccharr(c22);pputccharr('\\n'));}4#inclludee<sttdioo.h>>main((){chara,bb,c,,d,ee;scanff("%%c%cc%c%%c%cc",&&a,&&b,&&c,&&d,&&e);;if(a<<='ZZ'&&&aa<=''A'))a==a+332;if(a<<='ZZ'&&&aa<=''A'))a==a+332;if(a<<='ZZ'&&&aa<=''A'))a==a+332;if(a<<='ZZ'&&&aa<=''A'))a==a+332;if(a<<='ZZ'&&&aa<=''A'))a==a+332;printtf(""%c%%c%cc%c%%c",,a,bb,c,,d,ee);}5#inclludee"sstdiio.hh"intmmainn(){flooata,bb,c;;charop;;scanff("%%f%cc%f"",&aa,&oop,&&b);;switcch((op)){casse''+'::c=aa+b;;breeak;;case'-'':c==a-bb;brreakk;case'*'':c==a*bb;brreakk;case'/'':c==a/bb;brreakk;defauult::prrinttf(""errror"");breakk;}printtf(""ressultt=%..2f"",c));}6#inclludee"sstdiio.hh"#inclludee"mmathh.h""///数学学函数库库头文件件voidmaiin()){ doubblea,bb,c,,s,aareaa;pprinntf("请请输入三三角形三三边长::\n"");scanff("%%lf,,%lff,%llf",,&a,,&b,,&c)); if(aa<=00||bb<=00||cc<=00)//有有任一边边边长小小于等于于0 priintff("边边长必须须为正!!\n""); elsee if((a+bb>c&&b+cc>a&&a+cc>b))//任任意两边边之和对对于第三三边{ s==(a++b+cc)/22; arrea==sqrrt(ss*(ss-a))*(ss-b))*(ss-c)));///dooubllessqrtt(dooubllexx):求求平方根根值 prrinttf(""areea=%%lf\\n",,areea);; } elsse prrinttf(""不能构构成三角角形!\\n"));}五、实验心心得通过这次学学习我了了解C语言表表示逻辑辑的方法法,学会会了正确使使用逻辑辑运算符符和逻辑辑表达式式,基本本掌握了了掌握iif语语句和sswittch语句,我我会尽快快熟悉它它们,培培养独立立思考的的能力。实验六循环环结构程程序设计计(一)一、实验目目的(1)熟悉悉掌握用用whiile语句、ddo-wwhille语语句和ffor语句实实现循环环的方法法。(2)掌握握在程序序设计中中用循环环实现一一些常用用算法(如如穷举、迭迭代、递递推等)。二、实验内内容1.[计算算阶乘]]输入正整数数n,计计算n!!,结果果用长整整型数表表示(注注n!==1*22*3***n)。参考程序::#inclludee<sttdioo.h>>main((){lonngii,n==1,aa;scanff("%%ld"",&aa);for(ii=1;;i<==a;ii++))n==n*ii;printtf(""%ldd\n"",n));}2.[计算算数列和和]有数列1,33,5,77,9,111,………,现现要求由由键盘输输入n,计计算输出出该数列列的前nn项和和。参考程序::#inclludee<sttdioo.h>>main((){lonngnn,suum=00,i,,t=11;scanff("%%ld"",&nn);for(ii=1;;i<==n;ii++)){summ=suum+tt;t=t+22;}printtf(""%ldd\n"",suum);;}或#inclludee<sstdiio.hh>main((){lonngnn,suum;scanff("%%ld"",&nn);sum=nn*n;;printtf(""%ldd",ssum));}3.[累加加一行字字符中的的数字]]由键盘输入入一行字字符(总总字符个个数从11个至1100个个均有可可能,以以回车符符表示结结束),将将其中每每个数字字字符所所代表的的数值累累加起来来,输出出结果。[提示](11)可以以使用下下面程序序段逐个个读入键键盘输入入的一行行字符charch;;whilee((cch=ggetccharr()))!=''\n''){……}(2)数字字字符转转为对应应的数值值可用aa=chh-'00'参考程序::#inclludee<sttdioo.h>>main((){chaarcc;intss=0,,a;whilee((cc=geetchhar(())!!='\\n')){if((c>=='0''&&cc<=''9')){a=cc-488;s=s+aa;}}printtf(""%d"",s));}4.[求求最大公公约数]]由键盘输入入两个正正整数mm、n(mm、n用长整整数表示示),计计算它们们的最大大公约数数。[[提示]]公约数数是既能能整除mm又能能整除nn的数数,题目目要求满满足这一一条件的的最大的的一个。参考程序::#inclludee<sttdioo.h>>main((){lonngrr,m,,n,ttempp;scanff("%%ld,,%ldd",&&m,&&n);;whilee(m!!=0)){r=nn%m;;n=m;m=r;}printtf(""%ldd\n"",n));}或#inclludee<sttdioo.h>>main((){lonngmm,n,,t,ii,s;;scanff("%%ld,,%ldd",&&m,&&n);;t=m>nn?n::m;for((i=tt;i>>=1;;i){if(m%%i===0&&&n%ii==00){s=ii;bbreaak;}}printtf(""%d"",s));}5.[计计算数列列和]有数列:,编程实实现,由由键盘输输入n,计计算输出出数列前前n项项和。(结结果保留留四位小小数)。参考程序::#inclludee<sttdioo.h>>main((){intti,,t,nn;floatta==2,bb=1,,s=00;scanff("%%d",,&n));for(ii=1;;i<==n;ii++)){s=ss+a//b;t=a;aa=a++b;bb=t;;}printtf(""%.44f\nn",ss);}6.[百百万富翁翁]一个百万富富翁遇到到一个陌陌生人,陌陌生人找找他谈了了一个换换钱的计计划。该该计划如如下:我我每天给给你m元,而而你第一一天只需需给我一一分钱。第第二天我我仍给你你m元元,你给给我2分钱。第第三天,我我仍给你你m元元,你给给我4分分钱。依依次类推推,你每每天给我我的钱是是前一天天的两倍倍,直到到一个月月(388)天。百百万富翁翁很高兴兴,欣然然接受这这个契约约。现要要求,编编写一个个程序,由由键盘输输入m,计计算多少少天后,百百万富翁翁开始亏亏钱。参考程序::#inclludee<sstdiio.hh>#inclludee<mmathh.h>>main((){inttn,,m,ii;scanff(""%d"",&mm);for((i=11;i<<=388;i+++)if(00.011*(ppow((2,ii-1))-1))-i**m>==0)breeak;;printtf(""%d"",i--1);;}三、实验分分析与总总结⑴各实验验运行结结果及分分析。⑵程序22中将数列列1,33,5,77,9,111,………改为为1,9,17,25,33,41,………,怎怎样修改改程序??⑶程序55中自己换换一个数数列(如如:),怎样样修改程程序?四、相关实实验程序序列表1#inclludee<sttdioo.h>>main((){lonngii,n==1,aa;scanff("%%ld"",&aa);for(ii=1;;i<==a;ii++))n==n*ii;printtf(""%ldd\n"",n));}2#inclludee<sttdioo.h>>main((){lonngnn,suum=00,i,,t=11;scanff("%%ld"",&nn);for(ii=1;;i<==n;ii++)){summ=suum+tt;t=t+22;}printtf(""%ldd\n"",suum);;}#inclludee<sttdioo.h>>main((){lonngnn,suum=00,i,,t=11;scanff("%%ld"",&nn);for(ii=1;;i<==n;ii++)){summ=suum+tt;t=t+88;}printtf(""%ldd\n"",suum);;}3#inclludee<sttdioo.h>>main((){chaarcc;intss=0,,a;whilee((cc=geetchhar(())!!='\\n')){if((c>=='0''&&cc<=''9')){a=cc-488;s=s+aa;}}printtf(""%d"",s));}4#inclludee<sttdioo.h>>main((){lonngrr,m,,n,ttempp;scanff("%%ld,,%ldd",&&m,&&n);;whilee(m!!=0)){r=nn%m;;n=m;m=r;}printtf(""%ldd\n"",n));}5#inclludee<sttdioo.h>>main((){intti,,t,nn;floatta==2,bb=1,,s=00;scanff("%%d",,&n));for(ii=1;;i<==n;ii++)){s=ss+a//b;t=a;aa=a++b;bb=t;;}printtf(""%.44f\nn",ss);}修改#inclludee<sttdioo.h>>main((){intsiggn=11; inti,nn;floatta==1,bb=1,,s=00,pii=0;;scanff("%%d",,&n));for(ii=1;;i<==n;ii++)){pi=ppi+ss; s=s++a/bb;b=b+33;s=s*((-siign));}printtf(""%.44f\nn",ss);}6#inclludee<sstdiio.hh>#inclludee<mmathh.h>>main((){inttn,,m,ii;scanff(""%d"",&mm);for((i=11;i<<=388;i+++)if(00.011*(ppow((2,ii-1))-1))-i**m>==0)breeak;;printtf(""%d"",i--1);;}五、实验心心得通过这次学学习我掌掌握了用用whiile语句、ddo-wwhille语语句和ffor语句实实现循环环的方法法以及在程程序设计计中用循循环实现现一些常常用算法法,我感感受到了了算法在在程序设设计中的的重要性性。实验七循环环结构程程序设计计(二)一、实验目目的(1)进一一步熟悉悉掌握用用whiile语句、ddo-wwhille语语句和ffor语句实实现循环环的方法法。(2)掌握握在程序序设计中中使用多多重循环环。二、实验内内容1.[打印印菱形]]由键盘输入入正数nn,要求求输出22*n++1行行的菱形形图案。要要求菱形形左边紧紧靠屏幕幕左边。****************************参考程序::#inclludee"sstdiio.hh"#inclludee"mmathh.h""main((){inttn,,i,jj,k;;scanff("%%d",,&n));for(ii=1;;i<==2*nn+1;;i+++){k=aabs((n+11-i));for(jj=1;;j<==k;jj++))prrinttf("""));for(jj=1;;j<==2*nn+1--2*kk;j+++)priintff("**");;printtf(""\n"");}}2.[找出出满足要要求的数数字]输出1到到99999中中能被77整除除,而且且至少有有一位数数字是55的所所有数字字。输出出时一行行一个数数字,且且按由小小到大的的顺序输输出。[提示]判判断一个个数中是是否有数数字5,首首先要掌掌握拆数数字的方方法,一一种可行行算法如如下:一个整数aa,使用用a%110,可可以得到到a的的个位数数,然后后使用aa=a//10,可可以将aa中的的个位数数字除去去,上述述过程重重复则可可以得到到原数aa中其其它位上上的数字字。参考程序::#inclludee"sstdiio.hh"main((){intti,,j;;for(ii=7;;i<<=99999;;i==i+77){j=ii;whilee(j!!=0)){if((j%110===5)breeak;;j=j/110;}if(j!!=0))prrinttf(""%d\\n",,i));}}3.[求水水仙花数数]输出所有的的“水仙花花数”,所谓谓“水仙花花数”是指一一个3位位数,其其各位数数字的立立方和等等于该数数本身。如如:1553=113+53+33。三、实验分分析与总总结⑴各实验验运行结结果及分分析。四、相关实实验程序序列表1#inclludee"sstdiio.hh"#inclludee"mmathh.h""main((){inttn,,i,jj,k;;scanff("%%d",,&n));for(ii=1;;i<==2*nn+1;;i+++){k=aabs((n+11-i));for(jj=1;;j<==k;jj++))prrinttf("""));for(jj=1;;j<==2*nn+1--2*kk;j+++)priintff("**");;printtf(""\n"");}}2#inclludee"sstdiio.hh"main((){intti,,j;;for(ii=7;;i<<=99999;;i==i+77){j=ii;whilee(j!!=0)){if((j%110===5)breeak;;j=j/110;}if(j!!=0))prrinttf(""%d\\n",,i));}}3#inclludee<sttdioo.h>>voiddmaain((){inntii,j,,k,nn;prrinttf(""watterfloowerrnuumbllesis;;");;foor((n=1100;;n<110000;n+++){ii=n//1000;j=((n-ii*1000)//10;;k=nn%100;if((n===i*ii*i++j*jj*j++k*kk*k))priintff("%%d\nn",nn);}}}五、实验心心得通过这次学学习我巩巩固了上上次学到到的用wwhille语语句、ddo-wwhille语语句和ffor语句实实现循环环的方法法,基本学学会了在在程序设设计中使使用多重重循环。实验八数组一、实验目目的(1)掌握握一维数数组和二二维数组组的定义义、赋值值和输入入输出方方法。(2)掌握握与数组组有关的的算法。(3)掌握握字符数数组和字字符串函函数的使使用。二、实验内内容1.[倒序序]由键盘输入入10个整数数,倒序序输出。(数数字间由由一个空空格分隔隔)。2.[打印印矩阵]]由键盘输入入一个33×4的的矩阵,要要求输出出它的转转置矩阵阵。参考程序::#inclludee<sttdioo.h>>main((){intta[[3][[4],,b[44][33],ii,j;;for(ii=0;;i<33;i+++)for(jj=0;;j<44;j+++){scaanf(("%dd",&&a[ii][jj]);;b[j][[i]==a[ii][jj];}for(ii=0;;i<44;i+++){forr(j==0;jj<3;;j+++)printtf(""%d",bb[i]][j]]);printtf(""\n"");}}3.[冒泡泡排序]]由键盘输入入10个数,用用“冒泡法法”对100个数数从小到到大排序序,并按按格式要要求输出出。代码码如下,请请填充完完整。数数字间由由一个空空格分隔隔。#incuude"sttdioo.h""main((){intta[[10]],ii,jj,tt;for(ii=0;;i<110;ii++))scanff("%%d",,______________));for(______________)){forr(j==0;jj<_____;;j+++)if(_______________){______________}}for(ii=0;;i<110;ii++))printtf(""%d",aa[i]]);}参考程序::#inclludee<sttdioo.h>>main((){intta[[10]];intii,j,,t;for(ii=0;;i<110;ii++))scanff("%%d",,&a[[i]));for(ii=0;;i<99;i+++){forr(j==0;jj<9--i;jj++))if(a[[j]>>a[jj+1]]){t=aa[j]];aa[j]]=a[[j+11];a[jj+1]]=t;;}}for(ii=0;;i<110;ii++))printtf(""%d",aa[i]]);}4.[统计计不同数数字个数数]由键盘输入入20个整数数,统计计不同数数字的个个数。参考程序::#inclludee"sttdioo.h""main((){intta[[20]];intii,t,,p=00;for(ii=0;;i<220;ii++)){scaanf(("%dd",&&a[ii]);;for(tt=0;;t<ii;t+++)if(a[[t]===a[[i]))breeak;;if(t===i))p++;}printtf(""%d"",p));}5.[计算算高精度度加法]]由键盘输入入两个位位数很长长的整数数(一行行一个数数,每个个数最长长不超过过80位),试试计算并并输出这这两个数数的和。#inclludee"sstdiio.hh"#inclludee"sstriing..h"main((){intta[[1000]={{0},,b[1100]]={00},cc[1000]=={0}};chars[1101]];intii=0,,n1==0,nn2=00,maax=00,e==0;gets((s);;n1=sttrleen(ss);for(ii=n11-1;;i>==0;ii--))a[[n1--1-ii]=ss[i]]-'00';gets((s);;n2=sttrleen(ss);for(ii=n22-1;;i>==0;ii--))b[[n2--1-ii]=ss[i]]-'00';if(n11>n22)mmax==n1;;elsemaxx=n22;for(ii=0;;i<==maxx;i+++){c[ii]=((a[ii]+bb[i]]+e))%100;e=(a[[i]++b[ii]+ee)/110;}if(c[[maxx]>00)pprinntf(("%dd",cc[maax]));for(ii=maax-11;i>>=0;;i)printtf(""%d"",c[[i]));}三、实验分分析与总总结⑴各实验验运行结结果及分分析。(2)程序序1中改改为n个个数,怎怎样修改改程序??四、相关实实验程序序列表1#inclludee"sttdioo.h""#inclludee"maath..h"main((){intta[[10]];intii;for(ii=0;;i<110;ii++))scanff("%%d",,&a[[i]));for(ii=9;;i>==0;ii--))printtf(""%d\\n",,a[ii]);;returrn00;}2#inclludee<sttdioo.h>>main((){intta[[3][[4],,b[44][33],ii,j;;for(ii=0;;i<33;i+++)for(jj=0;;j<44;j+++){scaanf(("%dd",&&a[ii][jj]);;b[j][[i]==a[ii][jj];}for(ii=0;;i<44;i+++){forr(j==0;jj<3;;j+++)printtf(""%d",bb[i]][j]]);printtf(""\n"");}}3#inclludee<sttdioo.h>>main((){intta[[10]];intii,j,,t;for(ii=0;;i<110;ii++))scanff("%%d",,&a[[i]));for(ii=0;;i<99;i+++){forr(j==0;jj<9--i;jj++))if(a[[j]>>a[jj+1]]){t=aa[j]];aa[j]]=a[[j+11];a[jj+1]]=t;;}}for(ii=0;;i<110;ii++))printtf(""%d",aa[i]]);}4#inclludee"sttdioo.h""main((){intta[[20]];intii,t,,p=00;for(ii=0;;i<220;ii++)){scaanf(("%dd",&&a[ii]);;for(tt=0;;t<ii;t+++)if(a[[t]===a[[i]))breeak;;if(t===i))p++;}printtf(""%d"",p));}5#inclludee"sstdiio.hh"#inclludee"sstriing..h"main((){intta[[1000]={{0},,b[1100]]={00},cc[1000]=={0}};chars[1101]];intii=0,,n1==0,nn2=00,maax=00,e==0;gets((s);;n1=sttrleen(ss);for(ii=n11-1;;i>==0;ii--))a[[n1--1-ii]=ss[i]]-'00';gets((s);;n2=sttrleen(ss);for(ii=n22-1;;i>==0;ii--))b[[n2--1-ii]=ss[i]]-'00';if(n11>n22)mmax==n1;;elsemaxx=n22;for(ii=0;;i<==maxx;i+++){c[ii]=((a[ii]+bb[i]]+e))%100;e=(a[[i]++b[ii]+ee)/110;}if(c[[maxx]>00)pprinntf(("%dd",cc[maax]));for(ii=maax-11;i>>=0;;i)printtf(""%d"",c[[i]));}五、实验心心得通过这次学学习我掌掌握了与数组组有关的的算法以以及字符符数组和和字符串串函数的的使用。明白了一维二维数组的使用方法,我会继续努力。实验九字符符数组的的应用一、实验目目的(1)掌握握字符数数组和字字符串函函数的使使用。(2)掌握握与字符符串处理理有关的的算法。二、实验内内容1.[定义义存贮字字符串的的字符数数组]#inclludee"sstriing..h"voidmaiin()){chaarss[800];/*定定义字符符数组ss*/strcppy(ss,""abccdeffghiijkllmn"");printtf(""%s"",ss);}2.[字符符串的输输入与输输出]下面程序实实现从键键盘读入入字符串串,然后后输出到到屏幕,请请填充必必要的语语句。#inclludee"sstdiio.hh"voidmaiin()){chars[550];;printtf(""Whaat'ssyoournamme?"");gets((s);;/**由键盘盘读入字字符串**/printtf(""Youurnnameeiss",,);;printtf(""%s",,s));//*打印印字符串串*/}3.[字符符串的合合并]从键盘输入入3个个字符串串(每个个字符串串以回车车符做为为结束标标志),将将3个个字符串串以输入入先后顺顺序合并并到字符符串s中,请请填空使使用程序序完整。#inclludee"sstdiio.hh"#inclludee"sstriing..h"main((){chars[1100]]=""";chara[330];;gets((a);;sttrcaat(ss,aa);gets((a);;sttrcaat(ss,aa);gets((a);;sttrcaat(ss,aa);/*可以写写多行代代码*//printtf(""%s"",ss);}4.[回文文串]读入一行字字符串(不不多于880个个字符,以以回车结结束),判判断该字字符串是是否为回回文串(即即从左向向右拼写写与从右右向左拼拼写是一一样的),是是输出YY,否则则输出NN。参考程序::#inclludee"sstdiio.hh"#inclludee"sstriing..h"main((){intti,,leen;charbuff[1000];;gets((buff);len==sttrleen(bbuf));for(ii=0;;i<<lenn/2;;i+++)if(buuf[ii]!==buff[leen-ii-1]])breakk;if(i>>=leen/22)printtf(""Y"));elseprinttf(""N"));}5.[寻找找字符串串]由键盘输入入两个字字符串(假假设第一一个字符符串必包包含第二二个字符符串,如如第一个个字符串串为ABBCDEEF,第第二个为为CDEE,则CCDE包含在在ABCCDEFF中),现现要求编编程输出出第二字字符串在在第一行行字符串串中出现现的位置置。(如如果第二二个字符符串在第第一个字字符串中中出现多多次,则则以最前前出现的的为准)[提示]方方法1::建立双双重循环环,外层层循环变变量指示示第一个个串的查查找起始始位置,内内层循环环从起始始位置开开始判断断第二个个字符中中是否出出现在此此处;方方法2::使用字字符串函函数sttrsttr())。参考程序::#inclludee"sstdiio.hh"main((){intti,,j;chara[880],,b[[80]];gets((a);;geets((b);;for(ii=0;;a[ii]!=='\00';ii++)){forr(j==0;bb[j]]!=''\0'';j+++)if(a[[i+jj]!==b[jj])breeak;;if(b[[j]==='\\0'))brreakk;}if(aa[i]]!=''\0'')pprinntf(("%dd",ii+1));elsepriintff("NNotFouund"");}三、实验分分析与总总结⑴各实验验运行结结果及分分析。四、相关实实验程序序列表1#inclludee"sstdiio.hh"voidmaiin()){chaarss[800]={{'a'','bb',''c',,'d'','ee',''f',,'g'','hh',''i',,'g'','kk',''l',,'m'','nn'};;/**定义字字符数组组s*//scanff("%%s",,"aabcddefgghijjklmmn"));printtf(""%s"",ss);}2#inclludee"sstdiio.hh"voidmaiin()){chars[550];;printtf(""Whaat'ssyoournamme?"");gets((s);;/**由键盘盘读入字字符串**/printtf(""Youurnnameeiss\n"");printtf(""%s"",ss);/*打打印字符符串*//}3#inclludee"sstdiio.hh"#inclludee"sstriing..h"main((){chars[1100]]=""";chara[330];;gets((a);;sttrcaat(ss,aa);gets((a);;sttrcaat(ss,aa);gets((a);;sttrcaat(ss,aa);/*可以写写多行代代码*//printtf(""%s"",ss);}4#inclludee"sstdiio.hh"#inclludee"sstriing..h"main((){intti,,leen;charbuff[1000];;gets((buff);len==sttrleen(bbuf));for(ii=0;;i<<lenn/2;;i+++)if(buuf[ii]!==buff[leen-ii-1]])breakk;if(i>>=leen/22)printtf(""Y"));elseprinttf(""N"));}5#inclludee"sstdiio.hh"main((){intti,,j;chara[880],,b[[80]];gets((a);;geets((b);;for(ii=0;;a[ii]!=='\00';ii++)){forr(j==0;bb[j]]!=''\0'';j+++)if(a[[i+jj]!==b[jj])breeak;;if(b[[j]==='\\0'))brreakk;}if(aa[i]]!=''\0'')pprinntf(("%dd",ii+1));elsepriintff("NNotFouund"");}五、实验心心得通过这次学学习我明明白了字字符数组组和字符符串函数数的使用用以及字符符串处理理有关的的算法。掌握了字符数组和字符串函数的使用。我会更加努力。实验十函数数的基本本应用一、实验目目的(1)掌握握定义函函数的方方法。(2)掌握握函数实实参与形形参的对对应关系系,以及及“

温馨提示

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

评论

0/150

提交评论