C语言实验报告.doc_第1页
C语言实验报告.doc_第2页
C语言实验报告.doc_第3页
C语言实验报告.doc_第4页
C语言实验报告.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

_手工打造天然无添加O(_)O姓名:陈程洁学号:201612203502001专业班级:医学信息工程16级2班实验一 熟悉C语言编程环境调试示例:#include int main() printf(Welcome to you!n); return 0;基础编程题(1)输出短句:在屏幕上显示一个短句“Programming in C is fun!”。#include int main()printf(Programming in C is fun!n );return 0; (2)输出三角形:在屏幕上显示下列三角形图案。#include int main() int i,j; for(i=0;ii;j-) printf(* ); printf(n); return 0;(3)输出菱形图案:在屏幕上显示下列菱形图案。#include int main() printf( A n ); printf(A An); printf( A n);return 0;改错题:输出带框文字:在屏幕上输出以下3行信息。* Welcome* #include int main() printf(* * * * * * * * * * * * * n); printf(Welcomen); printf(* * * * * * * * * * * * * n); return 0;拓展编程题:(1) 输出短句(What is a computer?):在屏幕上显示一个短句“What is a computer?”#include int main() printf(What is a computer?n); return 0;(2) 输出倒三角形图案:在屏幕上显示下列倒三角图案。#include int main() int i,j,k; for(j=4;j0;j-) for(i=0;i4-j;i+) printf( ); for(i=0;ij;i+) printf(* ); printf(n); return 0;实验二 用C语言编写简单程序2.1 基本数据处理调试示例#include int main() int celsius,fahr; fahr=100; celsius =5*(fahr -32 )/9; printf(fahr=%d,celsius=%d n,fahr,celsius); return 0;基础编程题(1) 温度转换:求华氏温度150F对应的摄氏温度。#include int main() int celsius,fahr; fahr=150; celsius =5*fahr/9-5*32/9; printf(fahr=%d,celsius=%d n,fahr,celsius); return 0;(2) 计算物体自由下落的距离:一个物体从100m的高空自由落下,编写程序,求它在前面3s内下落的垂直距离。设重力加速度为10m/s2。#include int main() int h,g,t; g=10; t=3; h=g*t*t/2; printf(height=%dn,h); return 0;(3) 计算平均分:已知某为学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。#include int main() int Mt,Eg,Cp; Mt=87; Eg=72; Cp=93; printf(math=%d,end=%d,comp=%d,average=%d,Mt,Eg,Cp,(Mt+Eg+Cp)/3); return 0;改错题:计算某个数的平方赋值给y;分别以“y=x*x”和“x*x=y”的形式输出x和y的值。请不要删除源程序中的任何注释。示例:9=3*33*3=9#includeint main(void) int x,y; scanf(%d,&x); y=x*x; printf(%d = %d * %dn,y,x,x); /*/ printf(%d * %d = %dn,x,x,y); return 0 ;拓展编程题(1) 计算华氏温度:求摄氏温度26C对应的华氏温度。计算公式如下:f=(9/5)xc+32 其中,c表示摄氏温度,f表示华氏温度。#includeint main(void) int c,f; c=26; f=9*c/5+32; printf(celsius=%d,fahr=%d,c,f); return 0 ;(2) 求一个三位数的各位数字:当n为152时,分别求出n的个位数字(digit1)、十位数(digit2)和百位数字(digit3)的值。#includeint main(void) int n,digit1,digit2,digit3; n=152; digit1=n%10; digit2=(n/10)%10; digit3=n/100; printf(整数%d的个位数字是%d,十位数字是%d,百位数字%dn,n,digit1,digit2,digit3); return 0 ;2.2 计算分段函数调试示例#includeint main(void) double x,y; printf(Enter x:); scanf(%lf,&x); if(x!=0) y=1/x; else y=0; printf(f(%.2f)=%.1fn,x,y); return 0 ;基础编程题(1) 计算摄氏温度:输入华氏温度,输出对应的摄氏温度。#includeint main() int c,f; scanf(%d,&f); c=5*(f-32)/9; printf(fahr = %dn,c); return 0;(2)计算存款利息:输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。#include #include int main() int m,y;double r,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); return 0;(2) 计算分段函数:输入x,计算并输出下列分段函数f(x)的值(保留2位小数),请调用sqrt函数求平方根,调用pow函数求幂。#include#include int main(void) double x,y;scanf(%lf,&x); if(x0) y=pow(x+1,2)+2*x+1/x; else y=sqrt(x); printf(f(%.2f)=%.2f,x,y); return 0 ;改错题:计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出是保留1位小数。#includeint main(void) double x,y; printf(Enter x:); scanf(%lf,&x); if(x=10) y=1/x; else y=x; printf(f(%.1f)=%.1f,x,y); return 0 ;拓展编程题(1) 整数四则运算:输入两个整数num1和num2,计算并输出他们的和、差、积、商与余数。#includeint main(void) int num1,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=%d,num1,num2,num1%num2); return 0 ;(2) 阶梯电价。#includeint main(void) int x; double y; scanf(%d,&x); if(x=50) y=0.53*x; else y=0.53*50+(x-50)*0.58; printf(cost=%.2f,y); return 0 ;(3) 计算火车运行时间:#include #include int main() int a,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(The train journey time is %d hrs %d mins.,m,n); return 0;2.3指定次数循环调试示例#include int main() int i,sum; sum=0; for(i=1;i=100;i+) sum=sum+i; printf(sum= %d n,sum); return 0;基础编程题(1) 求给定序列(1+1/2+1/3+)前n项和:输入一个正整数n,计算序列1+1/2+1/3+的前n项和。#include int main() int n; double sum,i; scanf(%d,&n); sum=0; for(i=1;i=n;i+) sum=sum+1/i; printf(sum=%.6f,sum); return 0;(2) 求给定序列(1+1/3+1/5+)的前n项和:入一个正整数n,计算序列1+1/3+1/5+的前n项和。#include int main() int n; double sum,i; scanf(%d,&n); sum=0; for(i=1;i=n;i+) sum=sum+1/(i*2-1); printf(sum=%.6f,sum); return 0;(3) 求给定数列(1-1/4+1/7-1/10+)前n项和:入一个正整数n,计算序列1-1/4+1/7-1/10+的前n项和。#include int main() int n,item=1; double sum,i; scanf(%d,&n); sum=0; for(i=1;i=n;i+) sum=sum+(1/(3*i-2)*item; item=-item; printf(sum=%.3f,sum); return 0;改错题:输出华氏-摄氏温度转换表:#includeint main()int fahr,lower,upper;double celsius;printf(Enter lower:);scanf(%d,&lower);printf(Enter upper:);scanf(%d,&upper);printf(fahr celsiusn);for(fahr=lower;fahr=upper;fahr=fahr+2) celsius=(5.0/9.0)*(fahr-32.0);printf(%d %.1fn,fahr,celsius);return 0; 拓展编程题(1) 求交错序列前n项和:输入一个正整数n,计算交错序列1-2/3+3/5-4/7+5/9-6/11的前n项之和,输出时保留3位小数。#includeint main()int n,item=1;double sum=0,i;scanf(%d,&n); for(i=1;i=n;i+) sum=sum+(i/(2*i-1)*item; item=-item; printf(sum=%.3fn,sum);return 0; (2) 序列求和(mxm+1/m+(m+1)x(m+1)+):输入两个正整数m和n(0m=n),计算序列mxm+1/m+(m+1)x(m+1)+1/(m+1)+(m+2)x(m+2)+1/(m+2)+nxn+1/n,结果保留6位小数。#includeint main()int m,n;double sum=0,i;scanf(%d%d,&m,&n); for(i=m;i=n;i+) sum=sum+i*i+1/i; printf(sum=%.6fn,sum);return 0; 2.4使用函数调试示例#include int is(int number);int main() int count,i,sum; count=0; sum=0; for(i=100;i=999;i+) if(is(i)=1) count+; sum=sum+i; printf(count=%d,sum=%dn,count,sum); return 0;int is(int number) int a,b,c,result,sum; a=number/100; b=(number/10)%10; c=number%10; sum=a+b+c; if(sum=5) result=1; else result=0;return result;基础编程题(1) 生成3的乘方表:输入一个正整数n,生成一张3的乘方表,输出30到3n的值,可以调用幂函数计算3的成方表。#include#includeint main() int n; scanf(%d,&n); int i; for(i=0;i=n;i+) printf(pow(3,%d)=%.0fn,i,pow(3,i); return 0; (2) 平方根求和:输入一个正整数n,计算1+2+3+n的值(保留2位小数)。包含头文件math.h,并调用sqrt函数求平方根。#include#includeint main() int n,i; double sum=0; scanf(%d,&n); for(i=1;i=n;i+) sum=sum+sqrt(i); printf(sum=%.2f,sum); return 0; (3) 求给定序列(1!+2!+)的前n项和:输入一个正整数n,求e=1!+2!+3!+n!的值。要求定义和调用函数fact(n)计算n!,函数类型是double。#includedouble fact(double n);int main() int n,sum=0; double i; scanf(%d,&n); for(i=1;i=n;i+) sum=sum+fact(i); printf(e=%d,sum); return 0; double fact(double n) int i; double sum=1.0; for(i=1;i=n;i+) sum=sum*i; return sum;改错题:计算xn:#include double mypow(double x,int n);int main() int n; double result,x; printf(Enter x,n:); scanf(%lf%d,&x,&n); result=mypow(x,n); printf(result=%.6fn,result); return 0;double mypow(double x,int n) int i; double result; result=1; for(i=1;i=n;i+) result=result*x; return result;拓展编程题(1) 求幂之和:输入一个正整数n,求下列式子的和,可以调用pow函数求幂。#include #include double fact(double n);int main() int n,i; double sum=0; scanf(%d,&n); for(i=1;i=n;i+) sum=sum+pow(2,i); printf(sum=%.0fn,sum); return 0;(2) 求组合数:#includedouble fact(double n);int main() int n,m; double sum; scanf(%d%d,&m,&n); sum=fact(n)/(fact(m)*fact(n-m); printf(result=%.0f n,sum); return 0; double fact(double n) int i; double sum=1.0; for(i=1;i=n;i+) sum=sum*i; return sum;实验三 分支结构程序设计调试示例:求一元二次方程的根:#include #include int main() double a,b,c,d; printf(Enter a,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); else printf(a和b为0,c不为0,方程不成立n); else printf(x=%.2fn,-c/b); else if(d0) printf(x1=%.2fn,(-b+sqrt(d)/(2*a); printf(x2=%.2fn,(-b-sqrt(d)/(2*a); else printf(x1=%.2f+%.2fin,-b/(2*a),sqrt(-d)/(2*a); printf(x2=%.2f-%.2fin,-b/(2*a),sqrt(-d)/(2*a); return 0;基础编程题(1) 计算符号函数的值:输入x,计算并输出下列分段函数sigh(x)的值。试编写相应程序。#include int main() int x,y; scanf(%d,&x); if(x0) printf(sign(%d)=-1,x); else if(x=0) printf(sign(%d)=0,x); else printf(sign(%d)=1,x); return 0;(2) 比较大小:输入3个整数,按从小到大的顺序输出。试编写相应程序。#include int main() int a10; int i; for(i=0;i0;j-) for(i=1;i=j;i+) if(aiai-1) int k=ai; ai=ai-1; ai-1=k; for(i=0;i,ai); printf(%dn,a2); return 0;(3) 分类统计字符:输入15个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。试编写相应程序。/无法统计回车#include int main() char a15; int i,letter=0,blank=0,digit=0,other=0; gets(a); for(i=0;i47 & ai64 & ai96 & ai123) letter+; else if( ai=32 | ai=n) blank+; else other+; printf(letter=%dnblank=%dndigit=%dnother=%dn,letter,blank,digit,other); return 0;(4) 查询水果价格#include int main() double a5=0,3.0,2.5,4.1,10.2; int x; int k=5; while(k-) scanf(%d,&x); if(x=0) break; else printf(price=%.1fn,ax); return 0;(5) 计算个人所得税#include int main() int gz; double shui; scanf(%d,&gz); if(gz1600 & gz2500 & gz3500 & gz=4500) shui=0.15*(gz-1600); else shui=0.2*(gz-1600); printf(%.2fn,shui); return 0;(6) 统计学生成绩#include int main() int a=0,b=0,c=0,d=0,e=0; int n,x; scanf(%d,&n); while(n-) scanf(%d,&x); if(x=90 &x=100) a+; else if(x=80) b+; else if(x=70) c+; else if(x=60) d+; else e+; printf(%d %d %d %d %dn,a,b,c,d,e); return 0;改错题:输出三角形面积和周长#include #include int main() double a,b,c; double area,perimeter,s; printf(Enter 3 siders of the triangle:); 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); else printf(These sides do not correspond to a valid trianglen); return 0;拓展编程题(1) 三天打鱼两天晒网:#include #include int main()int day,yu; scanf(%d,&day); yu=day%5; if(yu-30 | yu=0) printf(Drying in day %dn,day); else printf(Fishing in day %dn,day); return 0;(2) 高速公路超速处罚:#include int main()double v,xian; scanf(%lf%lf,&v,&xian); double exceed; exceed=(v/xian)-1)*100; if(exceed=10) printf(Exceed %.0f%.Ticket 200n,exceed); else if(exceed=50) printf(Exceed %.0f%.Ticket Revokedn,exceed); else printf(OKn); return 0;(3) 计算油费#include int main() int a,bi; double sum=0, b1000; char c; b90=6.95; b93=7.44;b97=7.93; scanf(%d%d %c,&a,&bi,&c); if(c=m) sum=a*bbi*0.95; else sum=a*bbi*0.97; printf(%.2fn,sum); return 0;实验四 循环结构程序设计4.1 基本循环语句的使用调试示例:最大公约数和最小公倍数。#includedouble fact(double n);int main() int m,n,j,k; do printf(Input m:); scanf(%d,&m); printf(Input n:); scanf(%d,&n); while(m0 | n0); j=m; while(j%n!=0) j=j+m; k=(m*n)/j; printf(最大公约数是%dn最小公倍数是%dn,k,j); return 0; 基础编程题(1) 求奇数和:#includeint main() int n,sum=0; while(scanf(%d,&n) if(n=0) break; if(n%2!=0) sum=sum+n; printf(%dn,sum); return 0; (2) 求最小值:输入一个正整数n,再输入n个整数,输出最小值。试编写相应程序。#includeint main() int n,x1000,i,j; scanf(%d,&n); for(i=0;i0;j-) for(i=1;ij;i+) if(xixi-1) int k=xi; xi=xi-1; xi-1=k; printf(%d ,x0); return 0;(3) 求整数的位数以及各位数字之和:#includeint main() int x,i,n; scanf(%d,&x); int k=1,sum=0; for(i=1;x/10 1 | x/10 -1;i+) k+; sum=sum+x%10; x=x/10; sum=sum+x; printf(%d %d,k,sum); return 0;(4) 韩信点兵:(5) 求序列前n项和:输入一个正整数n,输出2/1+3/2+5/3+8/5+的前n项之和(该序列从第二项起,每一项的分子是前一项的分子与分母的和,分母是前一项的分子),保留2位小数。试编写相应程序。#include int main() int n; double i; double sum=0; scanf(%d,&n); double a=2.0,b=1.0; for(i=1;i=n;i+) sum=sum+a/b; int k=a; a=a+b; b=k; printf(%.2fn,sum); return 0;(6) 求a+aa+aaa+aaaa+aaaa(n个a):输入两个正整数a和n,求a+aa+aaa+aaaa+aaaa(n个a)之和。试编写相应程序。#include #include int main() int a,j,i,n; double sum, p; scanf(%d%d,&a,&n); sum=0; for(i=n;i0;i-) sum=sum+i*a*pow(10,n-i); printf(%.0fn,sum); return 0;改错题:序列求和:输入一个正整数eps,计算并输出下式的值,精确到最后一项的绝对值小于eps(保留6位小数)。请使用do-while语句实现循环。#include #include int main() int flag,n; double eps,item,s; printf(Input eps:); scanf(%lf,&eps); flag=1; s=0; n=1; do item=1.0/n; s=s+item*flag; flag=-flag; n=n+3; while(fabs(item*flag)=eps); printf(s=%.6fn,s); return 0;拓展编程题:(1) 猜数字游戏:#include int main() int x,n; int a,i; scanf(%d%d,&x,&n); for(i=1;ix)printf(Too bign); else if(ax)printf(Too smalln); else if(a=x&i1) print

温馨提示

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

评论

0/150

提交评论