2023年南华大学C语言实验报告.pdf
《2023年南华大学C语言实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年南华大学C语言实验报告.pdf(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、南华大学计 算 机 科 学 与 技 术 学 院实验报告(2 0 2 3 2 023 学年度 第1学 期)课程名称 高级程序设计I实验名称 C语言实验报告姓 名 文让洲 学号专业 计算机类 班 级1 4级计类0 7班地点 教 师 罗 江 琴实验一:计算定期存款本利之和1.实验题目及规定设银行定期存款的年利率r a t e 为 2.2 5%,并已知存款期为n年,存款本金为ca p it a 1 元,试编程计算n 年后的本利之和d e p o s it e规定定期存款的年利率r a t e、存款期n 和存款本金c a p it a I 均由键盘输入。2.实验内容1)流程图:1.对的从键盘读入数据。2
2、.把读入的数据带入公式计算即可。2)源程序#i n c 1 u d e#i n c 1 u d e t t in cl u d e v oid m a in ()(in t n;f 1 oa t d e p o s i t ,r a t e,c a p it a 1 ;p r in t f(请输入存款金额c a p i t a i:);s c a n f&c a p it a l);f f 1 u s h(s t d i n);p r in t f(请输入存款年限n:);s ca n f(%d,&n);f f 1 u s h(s t d i n);p r in t f(请输入年存款利率r a
3、t e:);s ca n f(%f,&r a t e );d e p os i t =ca p i t a i*p ow(r a t e+l),n);p r in t f(%d 年以后您的余额为:%.2f ,n ,d e p o s it);)4 .实验运营结果及分析 人存款金额capital:100002rate:0.022510455.06Process returned 26 execution tine:26.750 sPress any key to continue.5 .实验总结:注意格式控制符的匹配,定义的是flo a t型,s c a n f中一定要是f,我就由于这个错误,错
4、了好几次;尚有,s c a n f是取地址,&这个符号一定要注意加上,不然也会犯错,我也好几次忘掉这个&符号,找错找了好久。实验二-1:身高预测1.实验题目及规定编程从键盘输入你的性别(用字符型变量s e x 存储,输入字符F 表达女性,输入字符M 表达男性)、父母身高(用实型变量存储,fa H e i g h t为其父身高,m oH e ig ht 为其母身高)、是否爱慕体育锻炼(用字符型变量 s p or t s 存储,输入字符Y 表达爱慕,输入字符N表达不爱慕)、是否有良好的饮食习惯等条件(用字符型变量d ie t 存储,输入字符Y表达爱慕,输入字符N表达不爱慕),运用给定公式和身高预测
5、方法对你的身高进行预测。2.实验内容1)流程图1.一方面根据提醒,规定输入父母的身高。2 .选择性别:根据读入的是M还 是F进行选择。2.1 假如是 M,则身高 H e i g h t =(f a H e i g h t+m o H e i g h t )*0.542.2 假如是 F,则身高 H e i g h t=(f a H e i g h t*O.923+m o H e i g h t)/23 .提醒是否喜欢体育锻炼3.1 假如爱慕体育锻炼,则身高H e i g h t增 长2%;4.提醒是否有良好的卫生习惯4.1 假 如 有,则 身 高H e i g h t增 长1.5%;5.输出预测
6、身高2)源程序#in e l u d e#in cl u d e v oid m a i n ()(cha r s e x,s p or t s,d i e t;fl oa t fa H e i g ht,m oH e ig h t,H ig h t ;p r in t f(请输入你的性别 M o r F:(M/男 F/k)n);s c a n f(%c ,&s e x);f f 1 u s h(s t d i n);p r in t f(请输入你父亲的身高(c m):n );s ca n f(%f f aHei gh t);ffl u s h(s t d i n);p r in t f(请输
7、入你母亲的身高(cm):n );sc anf (%f ,&m oH e ig ht);ff 1 u s h(s t d in);s w it ch(s e x)(ca s e M :H ig ht =(f a H e i g h t+m o H e i g ht)*0.5 4;br e a k;I T%fc ase F :H ig ht=(fa H e ig ht*0.92 3+m oH e i g ht)/2;br e a k;)p r i n t f(你喜欢体育锻炼吗?(Y/N):n);s ca n f C%c,&s p or t s);i f(s p or t s=Y)H ig ht*=
8、(l+0.0 2);f f l u s h(s t d in);p r in t f(你有良好的卫生饮食习惯吗?(Y/N):n );s e a n f(%c ,&d ie t);if(d ie t=Y *)H ig ht*=(l+O.0 15);p r i n t f(你的身高预测为:%.O f cm,H i g ht);)4 .实验运营结果及分析:请输入你的性别M。蜉F:男F/女)密输入你父亲的身高(巾):175请输入你母亲的身高(5):165你喜欢体育锻炼吗?(Y/N):你有良好的卫生饮食习惯吗?(Y/N):你的身高预测为:190cm5 .实验总结本实验重要根据用户的输入进行判断,运 用
9、switch或 者 if语句进行相应的选择。需要注意的是,身高定义为float型,由于要进行浮点运算。但最后结果不输出小数。同时,每次输入数据之前,记得请输缓冲区,避免出现错误;实验二-2:简朴计算器1.实验题目及规定编程设计一个简朴的计算器程序,规定根据用户从键盘输入如下形式的表达式:操作数1 运算符op 操作数2然后,计算并输出表达式的值指定的运算符为加(+)减(-)乘(*)除(/)2.实验内容1)流程图1.提醒输入;2.根据输入的运算符,运 用sw i tc h语句对输入的运算符进行判断,然后进行相应的计算。2.1 进行除法时,除数不能为0;当输入的除数为。时,提醒除数不能为0;3.输出
10、打印结果,4.运用do-whi Ie循环,多次计算。直到用户输入N时结束。2)源程序#i n c 1 ud e#i n c l ud e vo i d m a i n ()(i n t d a t a ,d a ta 1 ,d a t a 2 ,1 e n g th;c h a r o p,re pl y;d o (p ri n t f (请输入需要计算的式子(如:1+2):n);sc a n f(M%d%c%d ,&d a ta l,&o p,&d a ta 2);swi tc h (o p)c a se +:d a t a=d a ta l+d a ta 2;b re a k;c a se
11、 :d a ta=d a t a 1-d a ta 2;b r e a k;c a s e *:d a ta=d a t a l*d a t a 2;b re a k;c a se /:i f (0=d a t a 2)pri n t f (除数不能为0.);e I sed a ta=d a ta 1 /d a t a 2 ;b r e a k ;)i f (d a t a 2=0)9e l sep r i n t f (%d%c%d =%d n,d a ta 1 ,o p,d a ta 2,da ta);pri n tf (需要继续计算吗?(Y o r N)n *);f f l us h (
12、std i n);s c a n f (%c ,&re p 1 y);wh i l e(r e pl y=Y );pri n t f (计算结束!算;)4.实验运营结果及分析:56+7856+78=134需要继续计算吗?(V or N):青输入需要计算的式子(如:1+2):67-8967-89=-22需要继续计算吗?(V or N)储输入需要计算的式子(如:1+2):67*767*7=469需要继续计算吗?(V or N);青输入需要计算的式子(如:2):84/284/2=42需要继续计算吗?(V or N)储输入需要计算的式子(如:1+2):8/0除数不能为。需要继续计算吗?G or N)3
13、算结束!5 .实验总结本 实 验 综 合 应 用 I s w i t c h 语 句 和 do-whi I e 循环语句进行多次计算操作;需要注意设 立 do-whi Ie 循环结束的标志,否则会进入死循环。实验三:猜数游戏1.实验题目及规定编程先由计算机“想”一 个1到I 00之间的数请人猜,假如人猜对了,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,且结束游戏,否则计算机给出提醒,告诉人所猜的数是太大还是太小,最多可以猜1 0次,假如猜了 10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运营程序可以反复猜多个数,直到操作者想停止时才结束。2.实验内容1)流
14、程图1.一方面运用随机函数产生一个1T 0 0 之间的随机数,初始化计数器。2 .提醒用户输入一个数。3 .把用户输入的数与产生的随机数进行比较,并提醒用户是大了还是小了;4.用户根据提醒,再猜一个数。5.反复执行3 和 4,直到用户猜对或者超过十次,结束当前循环;6 .提醒用户是否需要再来一次;2)源程序#inclu d e#i nclu d e#i n cl u d e ttinclude vo i d mai n()i n t m a g i c,g u e ss,c o un t e r;c h a r re pl y;/产生随机数种子sra n d (un s i g n e d )
15、t i m e (NU L L);一方面由系统产生一个1 1 0 0之间的数字,并初始化计数器d o m a g i c =r a n d ()%1 0 0+1;c o u n te r=0;d o p r i n tf (pl e a s e g ue ss a m a g i c n um b e r:n);sc a n f (%d,&g u e ss);c o un t e r+;i f (g ue ss m a g i c)pr i n tf (W ro n g!To o h i g h t!n);e l se i f (g ue ss m a g i c)pri n tf(W ro
16、n g 1 T o o l o w!n);e l s ep r i n tf (nRi h g t!Y o u a re s o c l e ve r!n );wh i l e (g ue ss!=m a g i c&c o un te r 1 0);pri n tf(c o u n te r=%d n,c o u n te r);f f l u sh(std i n);/清除缓冲区pr i n t f (D o Y o u W a n t To C o n ti n ue?(Y/N o r y/n )n);r e p 1 y=g e t c h a r();pri n tf (X n);w
17、h i l e (re pl y=Y|I r e pl y=y );p r i n t f (Th e G a m e I s Ove r!);4.实验运营结果及分析:please guess a magic number:60Wrong?Too hight?please guess a magic number:57Wrong?Too low?please guess a magic number:58Rihgt?ou are so cleuei*?counter=7Do Vou Want To Continue?Ytlease guess a magic number:9Wrong?Too
18、 hight?pleaseguess a magicnumber:50Wrong?Too lou?pleaseguess a magicnumber:75Urong?Too hight?pleaseguess a magicnumber:65Wrong?Too low?pleaseguess a magicnumber:68Wrong?Too hight?please guess a magic number:67Rihgt?Vou are so cleuer?counter=6Do Vou Want To Continue?The Game Is Ouei*?5.实验总结需要设立双重循环,内
19、层循环用于记录猜的次数及是否猜对,外层循环用于是否需要再来一次;需要注意刘勇fflush(std i n)清除缓冲区,否则也许会因读入空格而结束程序;实验四:小学生加法考试题1.实验题目及规定连续做10道题,通过计算机随机产生两个1 1 0 之间的加数给学生出一道加法运算题,假如输入答案对的,则显示“Right!”,否则显示“Notc o r r e c t!”,不给机会重做,10道题做完后,按每题1 0 分记录总得分,然后打印出总分和做错的题目数量。2.实验内容1)流程图1.一方面通过随机函数产生两个1 一10之间的整数。2.循环调用函数,提醒输出产生的两个相加,并规定输入两个数相加的结果。
20、3 .对输入的结果进行判断。3.1 假如输入的答案对的,提醒答对了,同时,s c o r e 加 10;3.2 假如输入的答案错误,提醒答错了,并显示对的答案,错误计数器加 1,score不累加。4.直到调用函数10次,退出循环,并输出分数及错误计数器的值。5.提醒用户是否需要再来一次。5.1假如输入Y,则再次进入循环,执行上面24 环节。5.2 假如输入N,则结束所有循环。2)源程序#in e l u d e s t a t i c in t s c o r e =0 ;s t a t i c in t c o u n t=0 ;v o i d m a i n ()in t i=l;c h
21、a r r e p 1 y;d o in t s c o r e=0;in t c o u n t=0;d o in t a,b;s r a n d (t i m e (N U L L);a=r a n d()%1 0+1 ;b=r a n d ()%1 0 +1;A d d T e s t (a,b);i+;w hil e (i=1 0);p r in t f (n );p r i n t f (你的得分为:%d 分!,s c o r e);p r in t f (你错了d 道题目!n ,c o u n t);p r i n t f (Do y o u w a n t t o t r y a
22、 g a i n !(Y o rN):n );f f l u s h(s t d in);s c a n f (%c ,&r e p l y );w h i l e(r e p l y =Y );p r in t f (nw);p r i n t f(已经退出!);)v o id A d d T e s t (i n t a,i n t b)(in t a n s w e r;p r in t f (计算:%d+%d=n ,a,b);s c a n f (%d ,&a n s w e r);i f (a n s w e r=a +b )(p r in t f (恭喜你,答对 了!n );s c
23、 o r e+=l 0 ;p r i n t f(n n );e 1 s e p r in t f (很遗憾,答错了!n );p r in t f (对的答案是:%d n ,a +b);p r i n t f (n );c o u n t +;4 .实验运营结果及分析傣喜你,答对了!你的得分为:7。分!你错了3道题目!Do you want to try again?or N:N已经退出!5 .实验总结通过这个例子,对循环以及选择结构有了更好地结识。这次实验需要注意,怎么对每次的分数以及错误次数累加。我采用的是静态全局变量,并且,当用户需要再来一次是,把co u n t和s core再次置0;
24、实验五检查并打印魔方矩阵1.实验题目及规定在下面的5义5 魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后,检查其是否为魔方矩阵,并将其按如下格式显示到屏幕上。p 172418 i1523571416i46132022 i10121921311 18 25 2 92.实验内容1)流程图1 .定义二维数组,存储输入的数据。2.累加二维数组的每行每列以及对角线上的元素的和。3.判断每行每列以及对角线上的元素和是否相等。4.输出数组以及判断结果。2)源程序#i n c l u d e#d e f i n e N 6v o i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 南华 大学 语言 实验 报告
限制150内