




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科实验报告课程名称: 程序设计技术 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 2015年 12月 6日目 录实验一 C语言的运行环境和运行过程.1实验二 C语言运算符和表达式.2实验三 简单的C程序设计.4实验四 选择结构程序设计.5实验五 循环结构程序设计.7实验六 数 组.9实验七 指 针.12实验八 函 数.14太原理工大学学生实验报告学院名称计算机科学与技术学院专业班级计双1501课程名称程序设计技术学号2013006757学生姓名杜升实验日期11.03实验成绩实验题目实验一 C语言的运行环境和运行过程目的与要求:1了解DOS、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。2了解在该系统上如何编辑、编译、连接和运行一个C程序。3通过运行简单的C程序,初步了解C源程序的特点。实验内容:1输入并运行例题中程序,熟悉调试C程序的的方法与步骤。2写出一个C程序的构成。变量定义模块、数据输入模块、数据处理模块、数据输出模块.3参照例题,编写一个C程序,输出以下信息:* Hello,World!*代码: 运行结果:#includeint main ()printf(*);printf(n Hello World!n);printf(*);4编写一个C程序,输入a、b、c三个数,输出其中最大者。试想,如果求四个数中的最大者,则程序该如何编写。代码: 运行结果:#includeint main ()int a,b,c,t;printf(请输入三个整数:n);scanf(%d%d%d,&a,&b,&c);if (ta) t=a;if (tb) t=b;if (tc) t=c;printf(最大数为:%dn,t);实验室名称行知A210指导教师签名王会青太原理工大学学生实验报告学院名称计算机科学与技术学院专业班级计双1501课程名称程序设计技术学号2013006757学生姓名杜升实验日期11.06实验成绩实验题目实验二 C语言运算符和表达式目的与要求:1掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。2学会使用C语言的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+)和自减(-)运算符的使用。3进一步熟悉C程序的编辑、编译、连接和运行的过程。实验内容:1 要将“China”译成密码,密码规律是:用原来的字母后面第5个字母代替原来的字母。例如,字母“A”后面第5个是“F”,用“F”代替“A”。因此,“China”应译为“Hmnsf”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为C、h、i、n、a,经过运算,使其分别变为H、m、n、s、f,并输出。代码: 运行结果:#includeint main()char c1,c2,c3,c4,c5;c1=C,c2=h,c3=i,c4=n,c5=a;c1+=5,c2+=5,c3+=5,c4+=5,c5+=5;printf(%c%c%c%c%c,c1,c2,c3,c4,c5);2 求下面算术表达式的值。(1)x+a%3*(x+y)%2/4,设x=2.5,a=7,y=4.7代码: 运行结果:#includeint main()int a=7;float s,x=2.5,y=4.7;s=x+float(a%3*(int)(x+y)%2/4);printf(s=%f,s);(2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.5代码: 运行结果:#includeint main()int a=2,b=3;float x=3.5,y=2.5,s;s=(float)(a+b)/2+(int)x%(int)y;printf(s=%f,s);3写出下面表达式运算后a的值,设原来a=10。设a和n已定义成整型变量。(1)a+=a (2)a-=2(3)a*=2+3 (4)a/=a+a(5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a代码:#includeint main()int a,n;a=10;a+=a;printf(1)a=%dn,a);a=10;a-=2;printf(2)a=%dn,a);a=10;a*=2+3;printf(3)a=%dn,a);a=10;a/=a+a;printf(4)a=%dn,a);a=10,n=5;a%=(n%=2);printf(5)a=%dn,a);a=10;a+=a-=a*=a;printf(6)a=%d,a);运行结果:实验室名称行知A210指导教师签名王会青太原理工大学学生实验报告学院名称计算机科学与技术学院专业班级计双1501课程名称程序设计技术学号2013006757学生姓名杜升实验日期11.13实验成绩实验题目实验三 简单的C程序设计目的与要求:1理解C语言程序的顺序结构2掌握常用的C语言语句,熟练应用赋值、输入、输出语句。实验内容:1 已知圆半径r=1.5,圆柱高h=3, 求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。代码: 运行结果:#include#define pi 3.14int main()float r=1.5,h=3,c,s,s1,v1,v2;c=2*pi*r;s=pi*r*r;s1=4*pi*r*r;v1=4/3*pi*r*r*r;v2=s*h;printf(圆周长c=%.2fn,c);printf(圆面积s=%.2fn,s);printf(圆球表面积s1=%.2fn,s1);printf(圆球体积v1=%.2fn,v1);printf(圆柱体积v2=%.2fn,v2);2输入一个华氏温度,要求输出摄氏温度。公式为c=5/9*(f-32)代码: 运行结果:#includeint main()float c=0,f=0;printf(请输入华氏温度f:n);scanf(%f,&f);c=5.0/9.0*(f-32.0);printf(摄氏温度c:%.2f,c);实验室名称行知A210指导教师签名王会青太原理工大学学生实验报告学院名称计算机科学与技术学院专业班级计双1501课程名称程序设计技术学号2013006757学生姓名杜升实验日期11.16实验成绩实验题目实验四 选择结构程序设计目的与要求:1了解C语句中表示逻辑量的方法(以0代表“假”以1代表“真”);2学会正确使用关系运算符、逻辑运算符和关系表达式、逻辑表达式;3熟练掌握if语句和switch语句的使用。实验内容:1 C语言如何表示“真”与“假”?系统如何判断一个量的“真”与“假”?以0代表“假”以1代表“真”;若一个量非0,即为“真”,若=0,即为“假”。2写出下面各逻辑表达式的值。设a=3,b=4,c=5值(1) a+bc&b= =c.1(2) a|b+c&b-c.1(3) !(ab)&!c|1.1(4) !(x=a)&(y=b)&0.0(5) !(a+b)+c-1&b+c/2.13有3个整数a、b、c,由键盘输入,输出其中最大的数。代码: 运行结果:#includeint main()int a,b,c,t;printf(请输入a,b,c:n);scanf(%d%d%d,&a,&b,&c);t=a;if(tb)t=b;if(tc)t=c;printf(最大数:%dn,t);4 给出一百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8089为B,7079分为C,6069分为D,60分以下为E。代码: 运行结果:#includestdio.hint main()int g,s;char c;printf(请输入成绩:);fflush(stdout);scanf(%d,&g);s=g/10;if(s10)printf(n输入成绩错误!);else switch (s) case 10: case 9: c=A; break; case 8: c=B; break; case 7: c=C; break; case 6: c=D; break; default: c=E; printf(n成绩等级:%c,c); 5给一个不多于5位的正整数,要求:a.求出它是几位数;b.分别打出每一位数字;c.按逆序打出各位数字,例如原数为321,应输出123。代码: 运行结果:#includestdio.hint main()int n,a5,i,j;printf(请输入正整数n:);scanf(%d,&n);for(i=0;n0;i+)ai=n%10;n=n/10;printf(n是%d位数n,i);for(j=0;ji;j+)printf(%d,aj);6 输入4个整数,要求按由小到大的顺序输出。代码: 运行结果:#includestdio.hint main()int a4,i,j,t;printf(请输入4个整数:n);fflush(stdout);for(i=0;i4;i+)scanf(%d,&ai);for(i=1;i4;i+)for(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;for(i=0;i4;i+)printf(%d ,ai);实验室名称行知A210指导教师签名王会青太原理工大学学生实验报告学院名称计算机科学与技术学院专业班级计双1501课程名称程序设计技术学号2013006757学生姓名杜升实验日期11.20实验成绩实验题目实验五 循环结构程序设计目的与要求:熟练掌握while、dowhile和for三种循环语句的应用。实验内容:1 输入两个正整数m和n,求其最大公约数和最小公倍数。代码: 运行结果:#includestdio.hint main()int m,n,a,b,k,s;printf(请输入m,n:n);fflush(stdout);scanf(%d%d,&m,&n);a=m,b=n,k=a%b;while(k!=0)a=n,b=k,k=a%b;s=m/b*n;printf(最大公约数:%dn,b);printf(最小公倍数:%dn,s);2 求Sn=a+aa+aaa+aaa 之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。代码: 运行结果:#includestdio.hint main()int i,a,m,n,Sn;printf(请输入a,n:);fflush(stdout);scanf(%d%d,&a,&n);Sn=a,m=a;for(i=1;in;i+)m=a+m*10;Sn=Sn+m;printf(Sn=%d,Sn);3 求和1!+2!+3!+4!+20!代码: 运行结果:#includestdio.hint main()double s=0,m=1;int i;for(i=1;i=1e-5)x=x1;x1=(x+a/x)/2;printf(x=%f,x1);5 用牛顿迭代求方程2x3-4x2+3x-6=0在1.5附近的根。代码: 运行结果:#includestdio.h#includemath.hint main()float x,x1,y1,y2;printf(请输入一个实数:);fflush(stdout);scanf(%f,&x);dox1=x;y1=2*x*x*x-4*x*x+3*x-6;y2=6*x*x-8*x+3;x=x1-y1/y2;while(fabs(x-x1)=1e-5);printf(一个根为%fn,x1);6 打印下列图案*代码: 运行结果:#includestdio.hint main()int i,j;for(i=1;i=5;i+)if(i=3)for(j=1;j=2*i-1;j+)printf(*);elsefor(j=1;j=1;i-)if(ai-1ai)t=ai-1;ai-1=ai;ai=t;elsebreak;for(i=0;i6;i+)printf(%d ,ai);2 将一个数组中的数据按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。代码: 运行结果:#includestdio.hint main()int i,j,t,a5=8,6,5,4,1;for(i=0,j=4;ij;i+,j-)t=ai;ai=aj;aj=t;for(i=0;i5;i+)printf(%d ,ai);3 有15个数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“查无此数”。代码: 运行结果:#includestdio.hint main()int a15=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;int m=0,n=14,k,i;printf(请输入要查找的数:);fflush(stdout);scanf(%d,&k);while(m=n)i=(m+n)/2;if(k=ai)printf(%d是数组中第%d个数n,k,i+1);break;else if(kn)printf(查无此数n);4 编一程序,将两个字符串连接起来,不要用strcat函数代码: 运行结果:#includestdio.h#includestring.hint main()char a20,b20;int m,n,i,j;printf(请输入字符串a:);fflush(stdout);gets(a);printf(请输入字符串b:);fflush(stdout);gets(b);m=strlen(a),n=strlen(b);for(i=m,j=0;jn;i+,j+)ai=bj;ai=0;puts(a);5 求一个33矩阵对角线元素之和。代码: 运行结果:#includestdio.hint main()int a33,i,j,s=0;printf(请输入3x3矩阵:n);fflush(stdout);for(i=0;i3;i+)scanf(%d%d%d,&ai0,&ai1,&ai2);for(i=0;i3;i+)for(j=0;j3;j+)if(i=j|i+j=2)s=s+aij;printf(对角线元素之和:%d,s);6打印出以下的杨辉三角形(要求打印出10行)。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 代码: 运行结果:#includestdio.h#define N 10int main()int aNN,i,j;for(i=0;iN;i+)ai0=1,aii=1;for(i=2;iN;i+)for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;iN;i+)for(j=0;j=i;j+)printf(%4d,aij);printf(n);7. 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。代码: 运行结果:#includestdio.hint main() int upper,lower,digit,space,other,i,j; upper=lower=digit=space=other=0; char a380=0; printf(请输入三段文字:n); for(i=0;i=a&aij=A&aij=0&aij=9) digit+; else if(aij= ) space+; else other+; printf(这三行文字中共有:n小写字母:t%dn大写字母:t%dn 数字:tt%dn空格:tt%dn其他字符:t%dn,lower,upper,digit,space,other);实验室名称行知A210指导教师签名王会青太原理工大学学生实验报告学院名称计算机科学与技术学院专业班级计双1501课程名称程序设计技术学号2013006757学生姓名杜升实验日期11.25实验成绩实验题目实验七 指 针目的与要求:1掌握指针的概念,指针变量的定义和引用;2学会使用指针处理数组中的数据;3学会用指针处理字符串5了解指针数组和指向指针的指针。实验内容:1 输入有一行字符,将字符串中的字符逆序后输出。代码: 运行结果:#includestdio.hint main()char s20,*p,*q,t;printf(请输入字符串:n);gets(s);p=s,q=s;while(*q)+q;q-;while(p=a&*p=a&*p=z)*p-=32;puts(s);3 “回文”是一种顺序读和反序读都一样的字符串,例如:“121”“abcba” “ABCCBA”编写程序,判断任一字符串是否为回文。代码: 运行结果:#includestdio.hint main()char s100,*p,*q;printf(请输入字符串:n);gets(s);p=s;for(q=s;*q!=0;q+);q-;while(p=q)printf(是回文n);4 修改上题,使其不区分大小写。代码: 运行结果:#includestdio.hint main()char s100,*p,*q;printf(请输入字符串:n);gets(s);p=s;for(q=s;*q!=0;q+);q-;while(p=q)printf(是回文n);实验室名称行知A210指导教师签名王会青太原理工大学学生实验报告学院名称计算机科学与技术学院专业班级计双1501课程名称程序设计技术学号2013006757学生姓名杜升实验日期12.06实验成绩实验题目实验八 函 数目的与要求:1掌握C语言函数的定义方法、函数的声明及函数的调用方法。2了解主调函数和被调函数之间的参数传递方式。实验内容:1上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。main()int x,y;printf(%dn,sum(x+y);int sum(a,b);int a,b;return(a+b);出错原因:函数不能嵌套定义2 定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数返回值值。用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人?代码: 运行结果:#includestdio.h#define N 50int fun(float a)float s=0,ave;int i,j=0;for(i=0;iN;i+)s+=ai;ave=s/i;for(i=0;iave)j+;return(j);int main()float aN;int i;printf(请输入学生成绩:n);for(i=0;iN;i+)printf(第%d个:,i+1);scanf(%f,&ai);printf(高于平均成绩的人数:%d,fun(a);3 编写一个对n个数据从大到小的排序C函数,再编写一个计算最后得分的C函数,计算方法是:去除一个最高分,去除一个最低分,其余的平均分为参赛选手的最后得分。并在主函数中调用它们对有n个评委评分,m个选手参赛的最后得分,从大到小排序输出。代码: 运行结果:#includestdio.h#define M 3#define N 4void order(float a) int i,j; float t; for(i=1;iM;i+) for(j=0;jM-i;j+) if(ajaj+1) t=aj; aj=aj+1; aj+1=t; printf(排名:); for(i=0;iM;i+) printf(%6.2f,ai);void score(float aN)int i,j,m,n;float sum,t,sM;for(i=0;iM;i+)for(m=1;mN;m+)for(n=0;nN-m;n+)if(ainain+1)t=ain;ain=ain+1;ain+1=t;for(sum=0,j=1;jN-1;j+)sum+=aij;si=sum/(N-2);printf(%d号选手的最终成绩是:%.2fn,i+1,si);order(s);int main()float aMN;int i,j;for(i=0;iM;i+)printf(请输入%d号选手的成绩:n,i+1);for(j=0;jN;j+)scanf(%f,&aij);score(a);4编写一个计算n!的函数,用主函数调用它,使之输出7阶杨辉三角形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年量子计算在金融风险模拟中的风险管理与技术创新案例研究报告
- 煤炭场地的租赁合同协议
- 矿山转买卖中介合同范本
- 混凝土供应服务合同范本
- 锻造设备出售合同协议书
- 窑厂购买合同协议书模板
- 粤菜厨房承包合同协议书
- 由第三方履行的合同协议
- 电力安全许可转让协议书
- 舞蹈收费培训合同协议书
- 刺络放血疗法培训
- 仓库卸货操作流程培训
- 2025至2030全球及中国IC托盘(电子芯片托盘)市场运行格局及前景战略研究报告
- epc设计咨询合同协议
- 主动防护网施工方案
- 项目部后勤管理制度
- 针灸治疗脾胃病
- 兵团职工面试试题及答案
- 上海工会考试试题及答案
- 湖北随州曾都区2024-2025学年小升初数学检测卷含解析
- 全国计算机等级考试《二级MySQL数据库程序设计》专用教材【考纲分析+考点精讲+真题演练+强化习题】
评论
0/150
提交评论