C语言实验报告(共99页).doc

上传人:飞****2 文档编号:13992443 上传时间:2022-05-02 格式:DOC 页数:99 大小:158.50KB
返回 下载 相关 举报
C语言实验报告(共99页).doc_第1页
第1页 / 共99页
C语言实验报告(共99页).doc_第2页
第2页 / 共99页
点击查看更多>>
资源描述

《C语言实验报告(共99页).doc》由会员分享,可在线阅读,更多相关《C语言实验报告(共99页).doc(99页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上手工打造天然无添加O(_)O姓名:陈程洁学号:专业班级:医学信息工程16级2班实验一熟悉C语言编程环境调试示例:#includeintmain()printf(Welcometoyou!n);return0;基础编程题(1)输出短句:在屏幕上显示一个短句“ProgramminginCisfun!”。#includeintmain()printf(ProgramminginCisfun!n);return0;(2)输出三角形:在屏幕上显示下列三角形图案。#includeintmain()inti,j;for(i=0;ii;j-)printf(*);printf(n);r

2、eturn0;(3)输出菱形图案:在屏幕上显示下列菱形图案。#includeintmain()printf(An);printf(AAn);printf(An);return0;改错题:输出带框文字:在屏幕上输出以下3行信息。*Welcome*#includeintmain()printf(*n);printf(Welcomen);printf(*n);return0;拓展编程题:(1) 输出短句(Whatisacomputer?):在屏幕上显示一个短句“Whatisacomputer?”#includeintmain()printf(Whatisacomputern);return0;(2)

3、 输出倒三角形图案:在屏幕上显示下列倒三角图案。#includeintmain()inti,j,k;for(j=4;j0;j-)for(i=0;i4-j;i+)printf();for(i=0;ij;i+)printf(*);printf(n);return0;实验二用C语言编写简单程序2.1基本数据处理调试示例#includeintmain()intcelsius,fahr;fahr=100;celsius=5*(fahr-32)/9;printf(fahr=%d,celsius=%dn,fahr,celsius);return0;基础编程题(1) 温度转换:求华氏温度150F对应的摄氏温度

4、。#includeintmain()intcelsius,fahr;fahr=150;celsius=5*fahr/9-5*32/9;printf(fahr=%d,celsius=%dn,fahr,celsius);return0;(2) 计算物体自由下落的距离:一个物体从100m的高空自由落下,编写程序,求它在前面3s内下落的垂直距离。设重力加速度为10m/。#includeintmain()inth,g,t;g=10;t=3;h=g*t*t/2;printf(height=%dn,h);return0;(3) 计算平均分:已知某为学生的数学、英语和计算机课程的成绩分别是87分、72分和93

5、分,求该生3门课程的平均分。#includeintmain()intMt,Eg,Cp;Mt=87;Eg=72;Cp=93;printf(math=%d,end=%d,comp=%d,average=%d,Mt,Eg,Cp,(Mt+Eg+Cp)/3);return0;改错题:计算某个数的平方赋值给y;分别以“y=x*x”和“x*x=y”的形式输出x和y的值。请不要删除源程序中的任何注释。示例:9=3*33*3=9#includeintmain(void)intx,y;scanf(%d,&x);y=x*x;printf(%d=%d*%dn,y,x,x);/*?3?*/printf(%d*%d=%d

6、n,x,x,y);return0;拓展编程题(1) 计算华氏温度:求摄氏温度26C对应的华氏温度。计算公式如下:f=(9/5)xc+32其中,c表示摄氏温度,f表示华氏温度。#includeintmain(void)intc,f;c=26;f=9*c/5+32;printf(celsius=%d,fahr=%d,c,f);return0;(2) 求一个三位数的各位数字:当n为152时,分别求出n的个位数字(digit1)、十位数(digit2)和百位数字(digit3)的值。#includeintmain(void)intn,digit1,digit2,digit3;n=152;digit1=

7、n%10;digit2=(n/10)%10;digit3=n/100;printf(整数%d的个位数字是%d,十位数字是%d,百位数字%dn,n,digit1,digit2,digit3);return0;2.2计算分段函数调试示例#includeintmain(void)doublex,y;printf(Enterx:);scanf(%lf,&x);if(x!=0)y=1/x;elsey=0;printf(f(%.2f)=%.1fn,x,y);return0;基础编程题(1) 计算摄氏温度:输入华氏温度,输出对应的摄氏温度。#includeintmain()intc,f;scanf(%d,&

8、f);c=5*(f-32)/9;printf(fahr=%dn,c);return0;(2)计算存款利息:输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。#include#includeintmain()intm,y;doubler,i;scanf(%d%d%lf,&m,&y,&r)printf(money=%d,year=%d,rate=%fn,m,y,r);i=m*pow(1+r,y)-m;printf(interest=%.2f,i);return0;(2) 计算分段函数:输入x,计算并输出下列分段函数f

9、(x)的值(保留2位小数),请调用sqrt函数求平方根,调用pow函数求幂。#include#includeintmain(void)doublex,y;scanf(%lf,&x);if(x0)y=pow(x+1,2)+2*x+1/x;elsey=sqrt(x);printf(f(%.2f)=%.2f,x,y);return0;改错题:计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出是保留1位小数。#includeintmain(void)doublex,y;printf(Enterx:);scanf(%lf,&x);if(x=10)y=1/x;elsey=x;print

10、f(f(%.1f)=%.1f,x,y);return0;拓展编程题(1) 整数四则运算:输入两个整数num1和num2,计算并输出他们的和、差、积、商与余数。#includeintmain(void)intnum1,num2;scanf(%d%d,&num1,&num2);printf(%d+%d=%dn,num1,num2,num1+num2);printf(%d-%d=%dn,num1,num2,num1-num2);printf(%d*%d=%dn,num1,num2,num1*num2);printf(%d/%d=%dn,num1,num2,num1/num2);printf(%d%d

11、=%d,num1,num2,num1%num2);return0;(2) 阶梯电价。#includeintmain(void)intx;doubley;scanf(%d,&x);if(x=50)y=0.53*x;elsey=0.53*50+(x-50)*0.58;printf(cost=%.2f,y);return0;(3) 计算火车运行时间:#include#includeintmain()inta,b,m,n;scanf(%d%d,&a,&b);if(b%100-a%100)=0)m=(b-a)/100)%10;n=b%100-a%100;printf(Thetrainjourneytim

12、eis%dhrs%dmins.,m,n);return0;2.3指定次数循环调试示例#includeintmain()inti,sum;sum=0;for(i=1;i=100;i+)sum=sum+i;printf(sum=%dn,sum);return0;基础编程题(1) 求给定序列(1+1/2+1/3+)前n项和:输入一个正整数n,计算序列1+1/2+1/3+的前n项和。#includeintmain()intn;doublesum,i;scanf(%d,&n);sum=0;for(i=1;i=n;i+)sum=sum+1/i;printf(sum=%.6f,sum);return0;(2

13、) 求给定序列(1+1/3+1/5+)的前n项和:入一个正整数n,计算序列1+1/3+1/5+的前n项和。#includeintmain()intn;doublesum,i;scanf(%d,&n);sum=0;for(i=1;i=n;i+)sum=sum+1/(i*2-1);printf(sum=%.6f,sum);return0;(3) 求给定数列(1-1/4+1/7-1/10+)前n项和:入一个正整数n,计算序列1-1/4+1/7-1/10+的前n项和。#includeintmain()intn,item=1;doublesum,i;scanf(%d,&n);sum=0;for(i=1;

14、i=n;i+)sum=sum+(1/(3*i-2)*item;item=-item;printf(sum=%.3f,sum);return0;改错题:输出华氏-摄氏温度转换表:#includeintmain()intfahr,lower,upper;doublecelsius;printf(Enterlower:);scanf(%d,&lower);printf(Enterupper:);scanf(%d,&upper);printf(fahrcelsiusn);for(fahr=lower;fahr=upper;fahr=fahr+2)celsius=(5.0/9.0)*(fahr-32.0

15、);printf(%d%.1fn,fahr,celsius);return0;拓展编程题(1) 求交错序列前n项和:输入一个正整数n,计算交错序列1-2/3+3/5-4/7+5/9-6/11的前n项之和,输出时保留3位小数。#includeintmain()intn,item=1;doublesum=0,i;scanf(%d,&n);for(i=1;i=n;i+)sum=sum+(i/(2*i-1)*item;item=-item;printf(sum=%.3fn,sum);return0;(2) 序列求和(mxm+1/m+(m+1)x(m+1)+):输入两个正整数m和n(0m=n),计算序列

16、mxm+1/m+(m+1)x(m+1)+1/(m+1)+(m+2)x(m+2)+1/(m+2)+nxn+1/n,结果保留6位小数。#includeintmain()intm,n;doublesum=0,i;scanf(%d%d,&m,&n);for(i=m;i=n;i+)sum=sum+i*i+1/i;printf(sum=%.6fn,sum);return0;2.4使用函数调试示例#includeintis(intnumber);intmain()intcount,i,sum;count=0;sum=0;for(i=100;i=999;i+)if(is(i)=1)count+;sum=sum

17、+i;printf(count=%d,sum=%dn,count,sum);return0;intis(intnumber)inta,b,c,result,sum;a=number/100;b=(number/10)%10;c=number%10;sum=a+b+c;if(sum=5)result=1;elseresult=0;returnresult;基础编程题(1) 生成3的乘方表:输入一个正整数n,生成一张3的乘方表,输出30到3n的值,可以调用幂函数计算3的成方表。#include#includeintmain()intn;scanf(%d,&n);inti;for(i=0;i=n;i

18、+)printf(pow(3,%d)=%.0fn,i,pow(3,i);return0;(2) 平方根求和:输入一个正整数n,计算1+2+3+n的值(保留2位小数)。包含头文件math.h,并调用sqrt函数求平方根。#include#includeintmain()intn,i;doublesum=0;scanf(%d,&n);for(i=1;i=n;i+)sum=sum+sqrt(i);printf(sum=%.2f,sum);return0;(3) 求给定序列(1!+2!+)的前n项和:输入一个正整数n,求e=1!+2!+3!+n!的值。要求定义和调用函数fact(n)计算n!,函数类型

19、是double。#includedoublefact(doublen);intmain()intn,sum=0;doublei;scanf(%d,&n);for(i=1;i=n;i+)sum=sum+fact(i);printf(e=%d,sum);return0;doublefact(doublen)inti;doublesum=1.0;for(i=1;i=n;i+)sum=sum*i;returnsum;改错题:计算xn:#includedoublemypow(doublex,intn);intmain()intn;doubleresult,x;printf(Enterx,n:);scan

20、f(%lf%d,&x,&n);result=mypow(x,n);printf(result=%.6fn,result);return0;doublemypow(doublex,intn)inti;doubleresult;result=1;for(i=1;i=n;i+)result=result*x;returnresult;拓展编程题(1) 求幂之和:输入一个正整数n,求下列式子的和,可以调用pow函数求幂。#include#includedoublefact(doublen);intmain()intn,i;doublesum=0;scanf(%d,&n);for(i=1;i=n;i+)

21、sum=sum+pow(2,i);printf(sum=%.0fn,sum);return0;(2) 求组合数:#includedoublefact(doublen);intmain()intn,m;doublesum;scanf(%d%d,&m,&n);sum=fact(n)/(fact(m)*fact(n-m);printf(result=%.0fn,sum);return0;doublefact(doublen)inti;doublesum=1.0;for(i=1;i=n;i+)sum=sum*i;returnsum;实验三分支结构程序设计调试示例:求一元二次方程的根:#include#

22、includeintmain()doublea,b,c,d;printf(Entera,b,c:);scanf(%lf%lf%lf,&a,&b,&c);d=b*b-4*a*c;if(a=0)if(b=0)if(c=0)printf(参数都为零,方程无意义!n);elseprintf(a和b为0,c不为0,方程不成立n);elseprintf(x=%.2fn,-c/b);elseif(d0)printf(x1=%.2fn,(-b+sqrt(d)/(2*a);printf(x2=%.2fn,(-b-sqrt(d)/(2*a);elseprintf(x1=%.2f+%.2fin,-b/(2*a),s

23、qrt(-d)/(2*a);printf(x2=%.2f-%.2fin,-b/(2*a),sqrt(-d)/(2*a);return0;基础编程题(1) 计算符号函数的值:输入x,计算并输出下列分段函数sigh(x)的值。试编写相应程序。#includeintmain()intx,y;scanf(%d,&x);if(x0)printf(sign(%d)=-1,x);elseif(x=0)printf(sign(%d)=0,x);elseprintf(sign(%d)=1,x);return0;(2) 比较大小:输入3个整数,按从小到大的顺序输出。试编写相应程序。#includeintmain(

24、)inta10;inti;for(i=0;i0;j-)for(i=1;i=j;i+)if(aiai-1)intk=ai;ai=ai-1;ai-1=k;for(i=0;i,ai);printf(%dn,a2);return0;(3) 分类统计字符:输入15个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。试编写相应程序。/无法统计回车#includeintmain()chara15;inti,letter=0,blank=0,digit=0,other=0;gets(a);for(i=0;i47&ai64&ai96&ai123)letter+;elseif(ai=32|ai=n)b

25、lank+;elseother+;printf(letter=%dnblank=%dndigit=%dnother=%dn,letter,blank,digit,other);return0;(4) 查询水果价格#includeintmain()doublea5=0,3.0,2.5,4.1,10.2;intx;intk=5;while(k-)scanf(%d,&x);if(x=0)break;elseprintf(price=%.1fn,ax);return0;(5) 计算个人所得税#includeintmain()intgz;doubleshui;scanf(%d,&gz);if(gz160

26、0&gz2500&gz3500&gz=4500)shui=0.15*(gz-1600);elseshui=0.2*(gz-1600);printf(%.2fn,shui);return0;(6) 统计学生成绩#includeintmain()inta=0,b=0,c=0,d=0,e=0;intn,x;scanf(%d,&n);while(n-)scanf(%d,&x);if(x=90&x=100)a+;elseif(x=80)b+;elseif(x=70)c+;elseif(x=60)d+;elsee+;printf(%d%d%d%d%dn,a,b,c,d,e);return0;改错题:输出三

27、角形面积和周长#include#includeintmain()doublea,b,c;doublearea,perimeter,s;printf(Enter3sidersofthetriangle:);scanf(%lf%lf%lf,&a,&b,&c);if(a+bc&b+ca&a+cb)s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);perimeter=a+b+c;printf(area=%.2f;perimeter=%.2fn,area,perimeter);elseprintf(Thesesidesdonotcorrespondtoavalidtri

28、anglen);return0;拓展编程题(1) 三天打鱼两天晒网:#include#includeintmain()intday,yu;scanf(%d,&day);yu=day%5;if(yu-30|yu=0)printf(Dryinginday%dn,day);elseprintf(Fishinginday%dn,day);return0;(2) 高速公路超速处罚:#includeintmain()doublev,xian;scanf(%lf%lf,&v,&xian);doubleexceed;exceed=(v/xian)-1)*100;if(exceed=10)printf(Exce

29、ed%.0f%.Ticket200n,exceed);elseif(exceed=50)printf(Exceed%.0f%.TicketRevokedn,exceed);elseprintf(OKn);return0;(3) 计算油费#includeintmain()inta,bi;doublesum=0,b1000;charc;b90=6.95;b93=7.44;b97=7.93;scanf(%d%d%c,&a,&bi,&c);if(c=m)sum=a*bbi*0.95;elsesum=a*bbi*0.97;printf(%.2fn,sum);return0;实验四循环结构程序设计4.1基

30、本循环语句的使用调试示例:最大公约数和最小公倍数。#includedoublefact(doublen);intmain()intm,n,j,k;doprintf(Inputm:);scanf(%d,&m);printf(Inputn:);scanf(%d,&n);while(m0|n0);j=m;while(j%n!=0)j=j+m;k=(m*n)/j;printf(最大公约数是%dn最小公倍数是%dn,k,j);return0;基础编程题(1) 求奇数和:#includeintmain()intn,sum=0;while(scanf(%d,&n)if(n=0)break;if(n%2!=0

31、)sum=sum+n;printf(%dn,sum);return0;(2) 求最小值:输入一个正整数n,再输入n个整数,输出最小值。试编写相应程序。#includeintmain()intn,x1000,i,j;scanf(%d,&n);for(i=0;i0;j-)for(i=1;ij;i+)if(xixi-1)intk=xi;xi=xi-1;xi-1=k;printf(%d,x0);return0;(3) 求整数的位数以及各位数字之和:#includeintmain()intx,i,n;scanf(%d,&x);intk=1,sum=0;for(i=1;x/101|x/10-1;i+)k+

32、;sum=sum+x%10;x=x/10;sum=sum+x;printf(%d%d,k,sum);return0;(4) 韩信点兵:(5) 求序列前n项和:输入一个正整数n,输出2/1+3/2+5/3+8/5+的前n项之和(该序列从第二项起,每一项的分子是前一项的分子与分母的和,分母是前一项的分子),保留2位小数。试编写相应程序。#includeintmain()intn;doublei;doublesum=0;scanf(%d,&n);doublea=2.0,b=1.0;for(i=1;i=n;i+)sum=sum+a/b;intk=a;a=a+b;b=k;printf(%.2fn,sum

33、);return0;(6) 求a+aa+aaa+aaaa+aaaa(n个a):输入两个正整数a和n,求a+aa+aaa+aaaa+aaaa(n个a)之和。试编写相应程序。#include#includeintmain()inta,j,i,n;doublesum,p;scanf(%d%d,&a,&n);sum=0;for(i=n;i0;i-)sum=sum+i*a*pow(10,n-i);printf(%.0fn,sum);return0;改错题:序列求和:输入一个正整数eps,计算并输出下式的值,精确到最后一项的绝对值小于eps(保留6位小数)。请使用do-while语句实现循环。#inclu

34、de#includeintmain()intflag,n;doubleeps,item,s;printf(Inputeps:);scanf(%lf,&eps);flag=1;s=0;n=1;doitem=1.0/n;s=s+item*flag;flag=-flag;n=n+3;while(fabs(item*flag)=eps);printf(s=%.6fn,s);return0;拓展编程题:(1) 猜数字游戏:#includeintmain()intx,n;inta,i;scanf(%d%d,&x,&n);for(i=1;ix)printf(Toobign);elseif(ax)printf

35、(Toosmalln);elseif(a=x&i1)printf(LuckyYou!n);break;elseif(a=x&i=1)printf(Bingon);break;elseprintf(GoodGuess!n);break;if(in)printf(GameOvern);return0;(2) 兔子繁衍问题:(3) 高空坠球:皮球从hight米的高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,如此反复。皮球在第n次反弹落地时,在空中经过的路程是多少米?第n次反弹的高度是多少?试编写相应程序,输出保留1位小数。#includeintmain()doublehight,sum=0

36、;inti,n;scanf(%lf,&hight);scanf(%d,&n);sum=hight;for(i=1;i=n;i+)hight=hight/2.0;sum=sum+2*hight;printf(%.1f%.1f,sum,hight);return0;(4) 黑洞数:黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。任何一个数字不全相同的三位数,经有限次“重拍求差”操作,(即组成该数的数字重拍后的最大数减去重拍后的最小数),总会得到495。最后所得495即为三位黑洞数。(6174为四位黑洞数)。#include#includeusingnamespaces

37、td;intmain()intx,i;inta3;scanf(%d,&x);while(x!=495)a0=x%10;a1=(x/10)%10;a2=x/100;sort(a,a+3);intmax,min;max=a2*100+a1*10+a0;min=a0*100+a1*10+a2;x=max-min;printf(%d-%d=%dn,max,min,x);return0;4.2嵌套循环调试示例:求e:输入一个正整数n,计算下式的和(保留4位小数),要求使用嵌套循环。#includeintmain()doublee,item;inti,j,n;printf(Inputn:);scanf(%d,&n);e=1;for(i=1;i=n;i+)item=1;for(j=1;j=i;j+)item=item*j;e=e

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁