版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计实验及代码精编Lele was written in 2021西南林业大学C语言程序设计实验题、代码、输出结果 编写目的:学生的痛,大家都明白,特别是学渣的痛。 呃,不过我渐渐从学渣成功逆袭,所以最后才会整理下这 些信息,为了让后面的人在面对这C语言时不会那么脑 大,不用像我们开始时候的茫然。认真享受在课堂上get知识的过程,接下去的事:作业 考试也是水到渠成的事情,有的课程的却要花点时间,但 就像那句话说的:No pain, no get,付出不一定会有收 获,但是不付出一定会让你后悔。所以,认真听课,不仅 仅只是C语言,还有其他的课程。实验题目及代码、输出结果实验题目目录目录
2、 PP6Printf简单输出三角形P6给定圆半径值为5,编程求圆面积和圆周长P6编写一个摄氏温度与华氏温度之间的转换程序P6编写程序,从键盘上输入两个电阻值,求它们并联电阻值和串联电阻值,输出结果保留两位小数。P7(有主函数子函数P26)使用两种指定的方法打印正三角形数阵P7从键盘输入3个数字字符,将它们分别转换为对应的整数 值(即字符0,转换为整数0,字符1'转换为整数1, 依次类推),然后求3个整数的平均值。P8从键盘输入两个两位的正整数,按照以下格式组装成一个 四位的正整数。P8 (指针变量-P19)输入三角形的三条边长,求三角形的面积。P9从键盘任意输入3个整数,选出其中的最大
3、数并打印。一P10从键盘输入三个正整数,判断否能构成三角形的三边一-P10从键盘输入一个合法的算术运算符(+、-、*、/)及两个 实数,使用if语句编写程序,根据输入的运算符判断对这 两个实数进行何种运算,并打印运算结果(要求结果保留两位小数)。P11 (有主函数子函数P21)从键盘输入一个年份和一个月份,使用switch语句编程判 断并打印该月的天数P12从键盘输入1个整型的分数,使用switch语句编程,判断 如果分数介于059分之间就打印“不及格”;如果介于 6079分之间就打印“及格”;如果介于8089之间就 打印“良好”;如果介于90100之间就打印“优秀”。P13使用while语句
4、编程求100以内能被5整除但不能同时被7整除的数,并统计找到的数的个数。P13从键盘输入一个正整数,使用while语句编程求该整数是一个几位数。P14使用while语句编程求/的前n项和nP14使用for语句编程求叫二£:«的前n项和P15使用for语句编程求的前n项和2ui=onp16使用for语句的嵌套结构编程打印九-九乘法表P16定义一个大小为10的整型一维数组,初始化所有数组元 素,编程查找数组中的所有奇数,并统计奇数的个数 P17定义一个大小为10的整型一维数组,初始化其中的9个元 素,这9个元素已经按照降序排列。从键盘再输入1个整 数,将该整数插入到已有的元素中
5、,需保证这10个数仍然 按照降序排序。P18利用指针编程,其功能是求电阻的并联值和串联值。 P18利用指针编程,其功能是利用“除号”和“求余号”将输 入的两个两位的正整数组合成一个新的四位的正整数。-一 P16定义一个大小为10的整型一维数组并初始化数组元素,再 定义一个指针变量让其指向该数组,利用指针编程查找数 组中的所有奇数。P20输入三角形的三条边长,定义一个子函数fun()求三角形的面积P21定义一个子函数fun()打印菱形。P22定义一个子函数fun(),其功能是求1累加到100的和一-P23定义一个子函数fun(),求表达式anq的前n项和P23定义一个fun()函数,其功能是:求
6、两个整数的和、差、积、商。P26在主函数中输入一元二次方程ax2+bx+c=0的三个系数a>b、c,求方程的实根。定义三个子函数funl()、fun2( )、fun3()分别处理方程有无实根、有两个相同实根、有两个不同实根的情况P27从键盘上输入一个的字符串,输出所有ASCH码为奇数的 字符,并统计这些字符的个数。P28从键盘上输入一个由大写字母、小写字母、数字字符、其 它字符构成的字符串,统计字符串中的大写字母个数、小 写字母个数、数字字符个数、其它字符个数。P28从键盘输入两个字符串,分别存到字符数组&和字符数组b 中,编程将第二个字符串连接到第一个字符串末尾,形成 一个新字
7、符串。(不使用的慎1血6库函数)P29使用while语句编程求a/5(n从0开始)前n项值,直到某 一项的值小于10-6就结束循环。P30使用for语句的嵌套结构编程打印行数为奇数的对称三教 菱形P31 从键盘输入一个正整数x,编程求比x大的,最临近x的n 个素数,例如,为x和n分别输入数值10和15,就表示求出比10大的,最临近10的15个素数。一P31题目及答案printf()函数的编程练习一一格式1 编程输出如图所示的三角形。void main()给定圆半径值为5,编程求圆面积和圆周长提示: ttincludeO #define PI int main() (1)本题需定义三个浮点型变量
8、,如double八 *C: t cstDcbueproc. cxc"1;(2)(3)(4) 法输出浮点型数据的格式说明符是%lfC语言中没有n这个符号,编写程序时直: c语言中没有求次方的运算符,求次方可J5.000000国药枳:31.4159MHProse any key to continuebJinfloat r=5;printf (圆半径二lfn圆面积二%fn圆周长二%fn,r, PI*r*r, 2*PI*r);(其中一个数的n次方可以用数学运算来算pow(r, n),为底数,n为次数)scanf ()函数、运算符编程练习编写一个摄氏温度与华氏温度之间的转换程序,转按为内卷提
9、示:该公式币的“C”是一个从键盘输入的已知量;“F”是通过公式计算函 "C: Docu>ents and Settiiu -.对应的华氏温度« 97.70Press any key to continueJ并打印出来的未知量。ttinclude <> void main()aouble F,C;Ke) 8&F 输/>, 醇If , /A 2 f(3 tf + n nc i a* r c - PSF编写程序,从键盘上输入两个电阻值,求它们并联电阻值 和串联电阻值,输出结果保留两位小 数。运行结果如图所示:注:并联和串联的电阻值计算公式如下。R1
10、*R2(1)并联电阻艇I)acuBents and Settings个wny Mlan 入电电3 wcs W昇吊rr电阻值: 1.88key to3, 5 continue-可X(2)串联电阻RS = R1+R2提示:(1) scanf ()函数可以写成 scanf (d, %d,&rl, &r2);(2)结果保留两位小数的格式说明符是“.21二。ttinclude </void main()aouble RI, R2, RP, RS;®i®Fwr,,R1,R2):搐in鬻睡辘患:%. 21f n串联电阻阻字符的输入和输出1、使用两种指定的方法打印如图
11、所©二 *C:estDebugprog.exe*清输入两卜两亡正"整数二12 X 范奋成的因位正整数是;1324 Press any key to continue.示图形。方法一:使用printf ()函数的“c”格式才反±1提示:一个“猊”只能打印一个字符。方法二:使用printf ()函数的“%d”格式打印图形。nclude<> void main()zprintf (/z%4dn %dn , 1,222,33333)rlude<>void main()%4dn啻#ivo>7lx < n ei d a lum cda ;9
12、0 t45 n - i ab(运用ASCLLh - 、c ab c咒,a, b, c;printf %cn, 声); b grintf ( %c%c%cn , 'printf(:%c%c%c%c%cnC, c, c, c, c); lli :1 c 1 r TV)/ r , 5 ppb PC17 (c f , t ca)f f tt n n1、从键盘输入3个数字字符,将它们分别转换为对应的整 数值(即字符'0,转换为整数0,字符'1'转换为整数 b依次类推),然后求3个整数的平均值。运行结果如图elseprintf (不能构成三角形n);从键盘输入一个合法的算术
13、运算符(+、-、*、/)及两个 实数,使用if语句编写程序,根据输入的运算符判断对这 两个实数进行何种运算,并打印运算结果(要求结果保留 两位小数)。程序运行效果如下图所示:提示:(1)该题属于“多分支if语句”结构。(2)本题的变量定义可参考如下:char fu; Ifo(5)本题可参考教材P61例,但是不允许使用switch语 句编写该题程序。/( / n ei da lum cd ni i ocd-1haounty f f u ainca f erlc ItPI rb p入If翻镣解两个浮点数);t=47-fu;fu ,y(t=4)*in 住院21f %c%. 21f = %. 21f
14、n,z, x,Ise if (t=5) z=x*y / printf ( %. 211%. 21fn , x, fu , y , zIse if(t=2) z 二 x-y; / printf ( %. 211%. 21fn , x, fu , y , z%c%c%. 21f%. 21fIse if (t=0)%c %. 21fz=x/y;/ printf ( %. 21f %. 21fn , x, fu , y , z);P 1 Qpprintf(运算符非法,无法参与运算n);从键盘输入一个年份和一个月份,使用switch语句编程判 断并打印该月的天数。程序运行效果如下所示:提示:(1)本题先
15、使用if语句判断年份和月份是否有效。(2)如果年份和月份有效,再嵌套switch语句判断每个月 份的天数。(3)对于2月份的处理需要判断闰年,闰年的判断方法请参考教材P62例。#include<>id main()盟磷?承都yftp和左1月份:");scanf ( %d %d , ftyear, ftmonth;,置montiiS 0&&mo nth<=12)1:3:5:7:8:10:case case case case case case caseswitch(month)12:)rintf (d 月有 31 天n,month);)reak;ca
16、se 4: case 6:case 9:case 11:,_、printf ( %d 月有 30 天n , month); break;default:m(华已概°°二°)i printl V z 月刊 29 人n ); elseprintf (2 月有 28 天n);break;pl Qpprintf (输入的月份值无效!);从键盘输入1个整型的分数,使用switch语句编程,判断 如果分数介于059分之间就打印“不及格”;如果介于 6079分之间就打印“及格”;如果介于8089之间就 打印“良好”;如果介于90100之间就打印“优秀”。#include<
17、>void main()(int a, b;printf (请输入一个分 数介于<0 100>间:);scanf (%d, &a);if (a>0&&a<=100)(b=a/10;switch(b)(case 6:case 7:printf (及格n);case 8:printf ( 良 好n);break;case 9:case 10:printf (优 秀n);break;default:printf (不及格n);break;)break;elseprintf (输入的 分数份值无效! n);使用while语句编程求100以内能被5整
18、除但不能同时被7 整除的数,并统计找到的数的个数。提示: 'F:MlfVC4-数组巾的初始二C:DOCUIEMTS AHD SEHIHGSYDEL.诗稿九菱形曲?数组中的奇数火余为犬KMXMXXXX奇教个数是,Pi、。38 any koXMXXMXMXXXXXXXtestDebuga.*100 = 5050any key to continuepCiXDOCUIEJi-WIress cmy key tu cuntimg二J(Pre公£ an? k” to continue渲 18 IS 12 10 9 7 5 2请蔺入一个整数:,3数组中的1®个元素是:M 18 1
19、5 12 10 9 7 5 2 13亟ss any key to cont inudTr,序排序后的整戮为:2U 18Preaa any key to continueIS 13 12 10 9 ? S 21*2=2 2*2-4H3=3 2*3=6 3*3=9W4=4 2+4=3 3*4=12 41M=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251 好6 232 3*6=18 4蚱24 5祐二的 626二361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6-7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5tS=40
20、6g8=48 7招=36 *8=641 州二9 2*9-18 3*9=27 4*9=36 5隹45 6*9=54 7*9-63 8*9二72 9*9=81 Press any key to continue.+100=%dn/z, sum);printf (n);void main()fun();定义一个子函数fun(),求表达式Sn =1 + % + % + % + %! + + %!的值。主函数定义如下所示,请完成fl#include<>double fun(int n);void main()(int n;double sum;printf (请输入n的值:);scanf (
21、%d, &n);sum=fun(n);printf (/zsum=%lfn/z, sum);double fun (int n)int i;double a=l, b,sum=1;for(i=l;i<=n;i+)a= (double)a*i;b= (double)1/a; sum=sum+b;return(sum);2、定义一个子函数fun()求算术表达式的解。要求:运算符(+,*, /, %)和两个整数在主函数输入,结果也在主函数打印。提示:(1)主函数内先判断运算符的有效性,如果运算符 有效,就调用fun()函数。如果运算符非法, 就打印错误提示信息,不调用fun()函数。(
22、2) fun()函数的函数首部可以参考如下double fun (char fu, int a, int b) 其中形参fu代表运算符,形参a、b代表参与 运算的两个数,函数返回类型为double,表示 函数的运行结果是实数。double fun (char fu, double x, double y , int t)(double ans;(if(t=4)ans=x+y;else if (t=5)ans=x*y;else if (t=2)ans=x-y;else if (t=0)ans=x/y;/* elseprintf (运算符 非法,无法参与运算 n);*/)return (ans);
23、SincludeOvoid main()(char fu;double x, y, z;int t;printf (请输入一个算 数运算符和两个浮点数 );scanf(c %lf %lf,&fu, &x, &y);t=47-fu;if (t=4|t=5|t=2 t=0)z=fun(fu, x, y, t);printf (/z%. 21f %c % .21f二 ,21fn,x , fu ,y , z);)elseprintf (运算符 非法,无法参与运算 n);入电电c MC:DesktopllDebugText2个电阻值:2,3 且值=1.200000 fitJ =
24、5.000000any key to continueDocuMont s an.-olx两个整数:*4 = 775 0Press any key to continue参数的“传值”方式与“传 地址”方式编程练习1、在主函数中输入2个电 阻值,定义一个子函数求这 2个甩阻的并联甩阻值和串 联电阻值,并在主函数中输 出运算结果。程序运行效果 如图所示:提示:(1)主函数中的变量定义 可参考如下double a, b, bing, chuan;(2)子函数为有参、无返 回值的形式。SincludeOvoid fun (double a,double b)double bing,chuan;bin
25、g= (a*b)/(a+b); chuan=a+b;printf(并联电阻阻值 =%lfn",bing);printf (串联电阻阻值二lfn,chuan);return;void main()(double a, b, bing, chuan; printf(请输入两个电阻 值:);scanf (lf%lf ,&a, &b); fun(a,b);2、定义一个 fun()函数,其 功能是:求两个 整数的和、差、 积、商。程序运 行效果如图所 示:要求:两个整数值在主函数 中输入,运算结果在主函数 中输出。子函数是进行运 算。提示:(1) main ()函数的变量定 义
26、为int a, b, he, cha, Ji;double shang ;(2)本题需使用参数的传地 址方式,fun()函数有 6个参数。fun()函数 首部为:void fun(int a, intb, int *he, int *cha, int *ji, double *shang)printf (请输入两个整数: WincludeO);void fun(int a, int b,scanf ("%d%d, &a, &b);int *he, int *cha, intfun (a, b, She, &cha, & ji, &sh*ji,
27、double *shang)ang);(printf(和:%d + %d = %d *he=a+b;n, a, b, he);*cha=a-b;printf (差:%d - %d = %dn,a, b, cha);*shang=(double)a/ (doubleprintf (积:d * %d = %d )b;n,a, b, ji);)printf (商:%d / %dvoid main()二 %lf n,a, b, shang);()int a, b, he, cha, ji;double shang ;在主函数中输入一元二次方程ax2+bx+c=0的三个系数 a、b、c,求方程的实根。定
28、义三个子函数funl () > fun2( )、fun3()分别处理方程有无实根、有两个相同实 根、有两个不同实根的情况。要求:(2)方程的根需在main函(1)a、b、c值需在主函数 数中打'印。2a中输入;提示:求方程实根的计算公式是WincludeOWincludeO/funl函数 void funl ()(return ;/fun2函数doublefun2 (doublea,doubleb,double c)(double xl,deta;/double m;deta 二(b*b)一4*a*c);xl= (double)(- b+sqrt (deta)/( double)
29、(2*a);return(xl);)/fun3函数doublefun3(doublea,doubleb,double c)(doublexl, x2, deta;/double m;deta=(b*b)-4*a*c);xl= (double)(- b+sqrt (deta)/( double)(2*a);x2= (double)(b- sqrt (deta)/(do uble) (2*a);return (xl, x2);)void main() (double a, b, c; double deta; double m;printf (请输入 一元二次方程组 的系数na b c:n); s
30、canf(/z%lf%lf%l f , &a, &b, &c); deta=(b*b)一 4*a*c);if (deta<0) (funl ();printf (方 程无实根n);else if(deta=m=fun2 (a, b, c);printfrxi= X2=%lfnz,, m);else(m=fun3 (a, b, c);printf CX1=%lfX2=%lfnz,, m);从键盘上输入一个的字符串,输出所有ASCH码为奇数的 字符,并统计这些字符的个数。运行效果如图所示:提示:(1)字符串的输入使用gets() 函数。(2)本题的变量可定义为c:*C
31、: Docu>ents and Se日®清输入一步字符串:IzWIhcdARCDASCII码为奇数的字符是:13acAC於CH码为奇数的字符个数是,6Press any key to continuechar a50;int n = 0, i = 0;cd nii o# v/ n ei d a u mprintf (c',ai);L50j,b50j;符串脚跖请盗入一个字 豹;舞猫"为SCII码为奇 数的梆扑小。段) if(ai%2!=0)n+;printf (n);T 祟, 嘉 奇: £'/ ASCII 码从键盘上输入一个由大写字母、小写字母
32、、数字字符、其 它字符构成的字符串,统计字符串中的大写字母个数、小 写字母个数、数字字符个数、其它字符个数。运行效果如 图所示:要求:字符串的输入/输出使用gets( )、puts()函数。 提示:本题的变量可定义为char a50; int i=0, da=0, xiao=0, shu=0, qi=0;其中数组a用来存放字符串;变量i作循环变量,同 时作为数组元素的下标;变量da、xiao、shu、qi分别用来统计大写字母、小写字母、数字字符、其它字符的个o- iQzo z n ci d a lum cd ni i oo ;-)z hys :串 线付 孥 .¥,一=0入 露 01请
33、 59 , = /A)z aif at( r n s atit h n r e ci pgrD:c_t estDebugt est1.请输入第1个字符串:abcde请输入第2个字符串:ABCDE连接后的字符串是:abcdefiBCDE Press any key to continueif(ai>=97&&ai<=122) xiao+;>:fc-个字; 写b 奋n a /(xx/( f sf ttt n u n i pl r7r D7Pfor (i=0;i<=50;i+)=57)shu+:else if (ai>=33&&ai<
34、;=47)qi+;叫intf £小耳字母个数是:%dn,/, xiao);是:%dn/2- 9 )/ (-J) 队 u n 史h § z(x z/fkx/( f ,sf t)tt n u u n ih pl r S7r p 7P *C:testDebugp.曰 、priptf ("其他字符个数 是:%dn ,.qi);/puts gi);printf( n );请输入一个字符串:<alj * *nDG*?8G68tt#大与字母的个数是:3小写字母的个数是:4数字字符的个数是:5其它字符的个数是:6Press any key to continue从键盘输入两
35、个字符串,分别存到字符数组a和字符数组b 中,编程将第二个字符串连接到第一个字符串末尾,形成 一个新字符串。运行效果如图所示:提示:(1)本题的变量可定义为char a50, b20;int i=0, j=0, len=0;(2)该连接过程实际上是将第二个字符串中的字符依次复 制到第一个字符串的后面。首先应统计出第一个字符串的 长度,因为第二个字符串的首字母应复制到第一个字符串 中(09所在的位置。'0'必须手动添加。hile(aiI- 0")len+;i+-)for(j=0;j<=20;j+)(3)注意新字符串末尾的结束标志z e( zd n e Ui dl
36、a u c m IX nCid n#i 1/0朱kro es- br入,瑞 01谒 5 rLO7 a - f .alen+j=bj;.ntf(连接后的字符 puts (a);串是个 2 第 入 J 杷 ::aff bf itA)(t tA)(t q s n q s nht c nii tii ti rue r e r npgpnpgp/strcat (a, b);小于104就结束循环即若x二,函数值f(x)为:。使用while语句编程求以下表达式的值,直到某一项的值6 'C:testDebuga.exe* 拿达式的百家Aim = 12.182493Fi'C33 0ny key to continue.xX 丫"/(x) = l + x + + + < 10-62!n . n9WincludeO)#include<&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年海南省安全员知识题库
- 2025年贵州省安全员C证考试(专职安全员)题库附答案
- 中医内科学-瘿病
- 【大学课件】建筑设备工程
- 声音的产生与传播+flash课件
- 语文课件-画蛇添足
- 三年级语文《炮手》课件
- 建设工程安全生产管理课件
- 万科穿插施工与施工计划
- 《急腹症幻灯》课件
- 2024年新技术、新产品、新工艺、新材料的应用培训课件
- 2025新年春节专用对联蛇年春联带横批
- 2025年中联重科公司发展战略和经营计划
- Unit8 Chinese New Year 第一课时(说课稿)-2024-2025学年译林版(三起)英语六年级上册
- JGJT46-2024《施工现场临时用电安全技术标准》条文解读
- 半结构化面试题100题
- 服装厂班组长培训
- 广东省公立医疗机构基本医疗服务价格项目修订表
- 申论公务员考试试题与参考答案
- 《激光原理及应用》全套课件
- 北京市海淀区2023-2024学年高三上学期期末考试+历史 含答案
评论
0/150
提交评论