C语言基础编程实习报告

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

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

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

资源描述

(2011~2012学年第2学期)实习名称:认识实习分项名称:C语言基础编程系别:计算机与通信工程系专业:测控(1)班学号:姓名:实习地点:学校机房3楼实习时间:8月23日~8月26日实习成绩:指导教师:严光银翟勇涛西南交通大学峨眉校区2012年8月26日一.实习目的和要求实习目的:1、巩固C语言编程基础知识2、熟练C语言调试中的常见错误及处理办法3、加强C语言综合编程能力训练4、熟练掌握C语言程序上机调试过程5、学会编写C语言程序解决简单计算题、字符串处理问题、日期和时间处理问题、高精度数处理等问题6、提高外文资料阅读理解的能力。要求:1.电子文档建立一个文件夹,名称为:学号姓名C基础如:学号为20106900,姓名为李四,则,文件夹名称:20106900李四C基础①C基础编程(10个C程序)文件名格式:学号姓名简拼_题目编号A.c如:题号为1001,则文件名为:20106900LS_1001A.c②C强化编程(共10道,至少选做4道题)文件名格式:学号姓名简拼_题目编号B.c③实习报告电子文档:学号姓名C基础.doc④改正错误分析示例中的错误2.实习报告(打印稿)二.实习方式和安排方式:上课与上机安排:8月23日8:00-12:00第3组C基础编程上课6307严光银8月24日11:50-14:50第3组C基础编程上机校机房3楼严光银\翟勇涛8月24日18:10-21:10第3组C基础编程上课校机房3楼严光银\翟勇涛8月25日15:00-18:00第3组C基础编程上机校机房3楼严光银\翟勇涛8月26日15:00-18:00第3组C基础编程上机校机房3楼严光银\翟勇涛三.实习内容(一)C基础编程(选做6题)在杭电OJ成功提交的题目数:6在杭电OJ未成功提交的题目编号:无提交的电子文档中包含的C程序数:6从6道基础编程题中任选2道比较满意的题目,写出详细解题报告如下:***************************第1题start*****************************(1)题目解析题目编号1108问题描述编写程序计算2个整数a、b的最小公倍数。输入数据输入数据输入2个整数a和b,中间用空格间隔。输出要求对于每次读入的一对整数,输出最小公倍数的结果。每个结果以回车结束。输入样例56256输出样例1792(2)源程序#includestdio.hintbig(intx,inty);intmain(){inta,b,max,n;while(scanf(%d%d,&a,&b)!=EOF){max=big(a,b);n=a/max*b;printf(%d\n,n);}return0;}intbig(intx,inty){intp,t,s;if(x==y)s=x;if(xy){p=y;y=x;x=p;}t=x-y;while(t){if(ty)x=t;else{x=y;y=t;}t=x-y;s=y;}return(s);}(3)本地计算机运行结果截图(4)OJ提交结果截图***************************第1题end***********************************************************第2题start*****************************(1)题目解析题目编号1040问题描述这些天,我思考一个问题,我怎样才能得到一个问题一样容易a+B吗?这是相当困难做这样一件事。当然,我得到了它在许多清醒的夜晚。给你一些整数,你的任务是将这些数字提升(升序)。你应该知道如何容易的问题是现在!祝你好运!输入数据输入包含多个测试用例。第一行的输入是一个整数T这是测试用例的数量。T测试用例遵循。每个测试用例包含一个整数N(1=N=1000的整数排序),然后N个整数在同一线路。遵循这是保证所有的整数范围在32位整数输出要求对于每个案例中,打印排序结果,一行一个案例。输入样例56256输出样例1792(2)源程序#includestdio.hvoidmain(){intn,m,a[1000];inti,j,c1,c2,k;while(scanf(%d,&n)!=EOF)for(c1=1;c1=n;c1++){scanf(%d,&m);for(c2=0;c2m;c2++)scanf(%d,&a[c2]);k=1;for(i=1;im&&k==1;i++){k=0;for(j=0;jm-i;j++)if(a[j]a[j+1]){a[j]=a[j]+a[j+1];a[j+1]=a[j]-a[j+1];a[j]=a[j]-a[j+1];k=1;}}for(i=0;im;i++)if(im-1)printf(%d,a[i]);elseprintf(%d\n,a[i]);}}(3)本地计算机运行结果截图(4)OJ提交结果截图***************************第2题end***********************************************************第3题start*****************************(1)题目解析题目编号1001源程序#includestdio.hintmain(){inti,a,j;doublesum;while(scanf(%d,&a)!=EOF){sum=0;for(j=1;j=a;j++){sum+=j;}printf(%.0lf\n\n,sum);}return0;}}(3)本地计算机运行结果截图(4)OJ提交结果截图***************************第3题end***********************************************************第4题start*****************************(1)题目解析题目编号1042源程序#includestdio.hintmain(){inta[10000];inti,j,c,m,n;while(scanf(%d,&n)!=EOF){a[0]=1;m=0;for(i=1;i=n;i++){c=0;for(j=0;j=m;j++){a[j]=a[j]*i+c;c=a[j]/10000;a[j]=a[j]%10000;}if(c0){m++;a[m]=c;}}printf(%d,a[m]);for(i=m-1;i=0;i--)printf(%4.4d,a[i]);printf(\n);}return0;}(3)本地计算机运行结果截图(4)OJ提交结果截图***************************第4题end***********************************************************第5题start*****************************(1)题目解析题目编号1017源程序#includestdio.hvoidmain(){intn,m,k,z,i,j,x,ans;scanf(%d,&k);for(i=1;i=k;i++){if(i1)printf(\n);x=1;while(scanf(%d%d,&n,&m)){if(n==0&&m==0)break;printf(Case%d:,x);x++;ans=0;for(j=1;jn-1;j++)for(z=j+1;zn;z++){if((j*j+z*z+m)%(j*z)==0)ans++;}printf(%d\n,ans);}}}(3)本地计算机运行结果截图(4)OJ提交结果截图***************************第5题end***********************************************************第6题start*****************************(1)题目解析题目编号1091源程序#includestdio.hintmain(){inta,b;while(scanf(%d%d,&a,&b)&&(!(a==0&&b==0)))printf(%d\n,a+b);}(3)本地计算机运行结果截图(4)OJ提交结果截图***************************第6题end********************************(二)C强化编程(选做4题)a)在杭电OJ成功提交的题目数:4b)在杭电OJ成功提交的题目编号:c)提交的电子文档中包含的C程序数:4写出详细解题报告如下:***************************第7题start********************************(1)题目解析题目编号2001问题描述输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。输入数据输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。输出要求对于每组输入数据,输出一行,结果保留两位小数。输入样例00010110输出样例1.001.41(2)源程序#includestdio.h#includemath.hintmain(){doublex1,y1,x2,y2,d;while(scanf(%lf%lf%lf%lf,&x1,&y1,&x2,&y2)!=EOF){d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));printf(%.2lf\n,d);}return0;}(3)本地计算机运行结果截图(4)OJ提交结果截图***************************第7题end***********************************************************第8题start*****************************(1)题目解析题目编号1005问题描述f(1)=1,f(2)=1,f(n)=(A*f(n-1)+B*f(n-2))输入数据输入数据输入3个数a,b和n,中间用空格间隔。输出要求对于每次读入的一对整数,输出结果。每个结果以回车结束。输入样例1131210000输出样例25(2)源程序#includestdio.hintb[2][2];intA,B;voidf(intn);intmain(){intn;while(scanf(%d%d%d,&A,&B,&n)&&(A||B||n)){if(n==1||n==2){printf(1\n);continue;}A%=7;B%=7;b[0][0]=A;b[0][1]=B;b[1][0]=1;b[1][1]=0;f(n-2);printf(%d\n,(b[0][0]+b[0][1])%7);}return0;}voidf(intn){intb00,b01,b10,b11,c00,c01,c11,c10;if(n==0){b[0][0]=1;b[1][0]=b[0][1]=0;b[1][1]=1;return;}if(n==1){b[0][0]=A;b[0][1]=B;b[1][0]=1;b[1][1]=0;return;}if(n%2==0){n/=2;f(n);b00=b[0][0]*b[0][0]+b[0][1]*b[1][0];b01=b[0][0]*b[0][1]+b[0][1]*b[1][1];b10=b[1][0]*b[0][0]+b[1][1]*b[1][0];b11=b[1][0]*b[0][1]+b[1][1]*b[1][1];b[0][0]=b00%7;b[0][1]=b01%7;b[1][0]=b10%7;b[1][1]=b11%7;}else{n/=2;f(n);b00=b[0][0]*b[0][0]+b[

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

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

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

×
保存成功