南华大学-C语言实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

南华大学计算机科学与技术学院实验报告(2015~2016学年度第1学期)课程名称高级程序设计I实验名称C语言实验报告姓名刘让洲学号20140440734专业计算机类班级14级计类07班地点教师罗江琴南华大学计算机科学与技术学院实验报告实验一:计算定期存款本利之和1.实验题目及要求设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。2.实验内容1)流程图:1.正确从键盘读入数据。2.把读入的数据带入公式计算即可。2)源程序#includestdio.h#includestdlib.h#includemath.hvoidmain(){intn;floatdeposit,rate,capital;printf(请输入存款金额capital:);scanf(%f,&capital);fflush(stdin);printf(请输入存款年限n:);scanf(%d,&n);fflush(stdin);printf(请输入年存款利率rate:);scanf(%f,&rate);deposit=capital*pow((rate+1),n);printf(%d年以后您的余额为:%.2f,n,deposit);}4.实验运行结果及分析5.实验总结:注意格式控制符的匹配,定义的是float型,scanf中一定要是%f,我就因为这个错误,错了好几次;还有,scanf是取地址,&这个符号一定要注意加上,不然也会出错,我也好几次忘记这个&符号,找错找了好久。南华大学计算机科学与技术学院实验报告实验二-1:身高预测1.实验题目及要求编程从键盘输入你的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对你的身高进行预测。2.实验内容1)流程图1.首先根据提示,要求输入父母的身高。2.选择性别:根据读入的是M还是F进行选择。2.1如果是M,则身高Height=(faHeight+moHeight)*0.542.2如果是F,则身高Height=(faHeight*0.923+moHeight)/23.提示是否喜欢体育锻炼3.1如果喜爱体育锻炼,则身高Height增加2%;4.提示是否有良好的卫生习惯4.1如果有,则身高Height增加1.5%;5.输出预测身高2)源程序#includestdio.h#includestdlib.hvoidmain(){charsex,sports,diet;floatfaHeight,moHeight,Hight;printf(请输入你的性别MorF:(M/男F/女)\n);scanf(%c,&sex);fflush(stdin);printf(请输入你父亲的身高(cm):\n);scanf(%f,&faHeight);fflush(stdin);printf(请输入你母亲的身高(cm):\n);scanf(%f,&moHeight);fflush(stdin);switch(sex){南华大学计算机科学与技术学院实验报告case'M':Hight=(faHeight+moHeight)*0.54;break;case'F':Hight=(faHeight*0.923+moHeight)/2;break;}printf(你喜欢体育锻炼吗?(Y/N):\n);scanf(%c,&sports);if(sports=='Y')Hight*=(1+0.02);fflush(stdin);printf(你有良好的卫生饮食习惯吗?(Y/N):\n);scanf(%c,&diet);if(diet=='Y')Hight*=(1+0.015);printf(你的身高预测为:%.0fcm,Hight);}4.实验运行结果及分析:5.实验总结本实验主要根据用户的输入进行判断,利用switch或者if语句进行相应的选择。需要注意的是,身高定义为float型,因为要进行浮点运算。但最后结果不输出小数。同时,每次输入数据之前,记得请输缓冲区,避免出现错误;南华大学计算机科学与技术学院实验报告实验二-2:简单计算器1.实验题目及要求编程设计一个简单的计算器程序,要求根据用户从键盘输入如下形式的表达式:操作数1运算符op操作数2然后,计算并输出表达式的值指定的运算符为加(+)减(-)乘(*)除(/)2.实验内容1)流程图1.提示输入;2.根据输入的运算符,利用switch语句对输入的运算符进行判断,然后进行相应的计算。2.1进行除法时,除数不能为0;当输入的除数为0时,提示除数不能为0;3.输出打印结果,4.利用do-while循环,多次计算。直到用户输入N时结束。2)源程序#includestdio.h#includestdlib.hvoidmain(){intdata,data1,data2,length;charop,reply;;do{printf(请输入需要计算的式子(如:1+2):\n);scanf(%d%c%d,&data1,&op,&data2);switch(op){case'+':data=data1+data2;break;case'-':data=data1-data2;break;case'*':data=data1*data2;break;case'/':南华大学计算机科学与技术学院实验报告if(0==data2)printf(除数不能为0.);elsedata=data1/data2;break;}if(data2==0);elseprintf(%d%c%d=%d\n,data1,op,data2,data);printf(需要继续计算吗?(YorN)\n);fflush(stdin);scanf(%c,&reply);}while(reply=='Y');printf(计算结束!);}4.实验运行结果及分析:5.实验总结本实验综合应用lswitch语句和do-while循环语句进行多次计算操作;需要注意设置do-while循环结束的标志,否则会进入死循环。南华大学计算机科学与技术学院实验报告实验三:猜数游戏1.实验题目及要求编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,且结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。2.实验内容1)流程图1.首先利用随机函数产生一个1-100之间的随机数,初始化计数器。2.提示用户输入一个数。3.把用户输入的数与产生的随机数进行比较,并提示用户是大了还是小了;4.用户根据提示,再猜一个数。5.反复执行3和4,直到用户猜对或者超过十次,结束当前循环;6.提示用户是否需要再来一次;2)源程序#includestdio.h#includestdlib.h#includeconio.h#includetime.hvoidmain(){intmagic,guess,counter;charreply;//产生随机数种子srand((unsigned)time(NULL));//首先由系统产生一个1—100之间的数字,并初始化计数器do{magic=rand()%100+1;counter=0;do{printf(pleaseguessamagicnumber:\n);scanf(%d,&guess);counter++;if(guessmagic)printf(Wrong!Toohight!\n);南华大学计算机科学与技术学院实验报告elseif(guessmagic)printf(Wrong!Toolow!\n);elseprintf(Rihgt!Youaresoclever!\n);}while(guess!=magic&&counter10);printf(counter=%d\n,counter);fflush(stdin);//清除缓冲区printf(DoYouWantToContinue?(Y/Nory/n)\n);reply=getchar();printf(\n);}while(reply=='Y'||reply=='y');printf(TheGameIsOver!);}南华大学计算机科学与技术学院实验报告4.实验运行结果及分析:5.实验总结需要设置双重循环,内层循环用于统计猜的次数及是否猜对,外层循环用于是否需要再来一次;需要注意刘勇fflush(stdin)清除缓冲区,否则可能会因读入空格而结束程序;南华大学计算机科学与技术学院实验报告实验四:小学生加法考试题1.实验题目及要求连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则显示“Notcorrect!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题目数量。2.实验内容1)流程图1.首先通过随机函数产生两个1-10之间的整数。2.循环调用函数,提示输出产生的两个相加,并要求输入两个数相加的结果。3.对输入的结果进行判断。3.1如果输入的答案正确,提示答对了,同时,score加10;3.2如果输入的答案错误,提示答错了,并显示正确答案,错误计数器加1,score不累加。4.直到调用函数10次,退出循环,并输出分数及错误计数器的值。5.提示用户是否需要再来一次。5.1如果输入Y,则再次进入循环,执行上面2-4步骤。5.2如果输入N,则结束所有循环。2)源程序#includestdio.hstaticintscore=0;staticintcount=0;voidmain(){inti=1;charreply;do{intscore=0;intcount=0;do{inta,b;srand(time(NULL));a=rand()%10+1;南华大学计算机科学与技术学院实验报告b=rand()%10+1;AddTest(a,b);i++;}while(i=10);printf(\n);printf(你的得分为:%d分!,score);printf(你错了%d道题目!\n,count);printf(Doyouwanttotryagain!(YorN):\n);fflush(stdin);scanf(%c,&reply);}while(reply=='Y');printf(\n);printf(已经退出!);}voidAddTest(inta,intb){intanswer;printf(计算:%d+%d=\n,a,b);scanf(%d,&answer);if(answer==a+b){printf(恭喜你,答对了!\n);score+=10;printf(\n);}else{printf(很遗憾,答错了!\n);printf(正确答案是:%d\n,a+b);printf(\n);count++;}南华大学计算机科学与技术学院实验报告4.实验运行结果及分析5.实验总结通过这个例子,对循环以及选择结构有了更好地认识。这次实验需要注意,怎么对每次的分数以及错误次数累加。我采用的是静态全局变量,并且,当用户需要再来一次是,把count和score再次置0;南华大学计算机科学与技术学院实验报告实验五-1:检验并打印魔方矩阵1.实验题目及要求在下面的5×5

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功