计算机基础与程序设计实验报告

上传人:仙*** 文档编号:37011837 上传时间:2021-11-01 格式:DOC 页数:21 大小:1.81MB
收藏 版权申诉 举报 下载
计算机基础与程序设计实验报告_第1页
第1页 / 共21页
计算机基础与程序设计实验报告_第2页
第2页 / 共21页
计算机基础与程序设计实验报告_第3页
第3页 / 共21页
资源描述:

《计算机基础与程序设计实验报告》由会员分享,可在线阅读,更多相关《计算机基础与程序设计实验报告(21页珍藏版)》请在装配图网上搜索。

1、#学院计算机基础与程序设计(c语言)实验报告专业:班级:姓名:学号:教师:实验1 顺序结构程序设计一、实验目的 1.熟悉 C语言的编程环境,掌握 C程序运行的一般步骤; 2.掌握 C语言中数据的输入输出方法,常用输入/输出函数的使用; 3.掌握顺序结构程序设计方法,能编写简单的 C程序;二、实验内容 1、编写程序,输入一个四位数,打印输出其个位数、十位数、百位数和千位数。 2、编写程序,从键盘上输入两个电阻的值,求它们并联和串连的电阻值,输出结果保留两位小数。 3、编写一个程序,从键盘上输入学生的三门课程成绩,求总成绩和平均成绩。 4、输入一元二次方程的三个系数,求根。 三、实验源码及测试数据

2、 1、 #include #include main() int x,a,b,c,d; a=b=c=d=0; printf(In put the number of fourn); scanf(%d,&x); a=x/1000; b=(x-a*1000)/100; c=(x-a*1000-b*100)/10; d=x%10; printf(个位数=%d,十位数=%d,百位数=%d,千位数=%dn,d,c,b,a); 2、 #include main() float r1,r2,R1,R2; printf(In put two Two electricalre sistancen); scanf

3、(%f,%f,&r1,&r2); R1=r1+r2; R2=1/(1/(r1)+1/(r2); printf(串联=%.2f,并联=%.2fn,R1,R2); 3、 #include main() float a,b,c,sum,aver; printf(In put three scoren); scanf(%f,%f,%f,&a,&b,&c); sum=a+b+c; aver=sum/3; printf(总分=%.0f,平均分数=%.0fn,sum,aver); 4、 #include #include main() double a,b,c,d,x1,x2,x; printf(In pu

4、 tthree numbern); scanf(%lf,%lf,%lf,&a,&b,&c); d=b*b-4*a*c; if(a=0&b=0) printf(不是方程n); else if(a=0&b!=0) x1=-c/b; printf(一次方程n); printf(x=%lfn,x1); if(a!=0&d0) x1=-b+sqrt(d); x2=-b-sqrt(d); printf(x1=%.2lfnx2=%.2lfn,x1,x2); if(a!=0&d0) printf(无实根n); 实验2 流程控制程序设计一、实验目的 1、了C语言表示逻辑量的方法(以 0代表“假”,以非 0代表“

5、真”)。 2、学会正确使用逻辑运算符和逻辑表达式。 3、熟练掌握 if语句,switch语句,do_while语句,while语句和for语句的使用方法。 4、结合程序掌握一些简单的算法。二、实验内容 1、输入 3个整数,要求按由小到大的顺序输出。 2、编写程序,要求从键盘输入成绩,输出对应的等级(100分为 A,90-99为 B,80-89为 C,70-79为 D,60-69为 E,小于 60为 F)。 3、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10天早上想

6、再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。 4、用 for语句求 1到 100中是 3的倍数的数的和。 三、实验源码及测试数据 1、 #include #include main() int a,b,c,t; printf(In put length of three munbern); scanf(%d,%d,%d,&a,&b,&c); if(ac) if(ac) t=a; a=c; c=t; else t=c; c=b; b=t; else if(bc) t=a; a=c; c=t; else if(ac) t=a; a=c; c=t; t=b; b=a; a=t; else t=

7、a; a=b; b=t; printf(%d,%d,%dn,a,b,c); 2、 #include #include main() int x; printf(In putthe scoren); scanf(%d,&x); if(x100) printf(errorinn); else switch(x/10) case 10:printf(An);break; case 9:printf(Bn);break;case 8:printf(Cn);break; case 7:printf(Dn);break; case 6:printf(En);break; default:printf(Fn

8、); 3、 #include main() int i,sum; sum=1; for(i=0;i9;i+) sum=(sum+1)*2; printf(%dn,sum); 4、 #include main() int sum=0,i; for(i=1;i100;i+) if(i%3=0) sum+=i; printf(1到 100中 3的倍数和为%dn,sum); 实验3 数组和函数一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握与数组有关的算法(特别是排序算法)。3、掌握定义函数的方法;4、掌握函数实参与形参的对应关系以及“值传递”的方式;5、掌握函数的嵌套

9、调用和递归调用的方法;6、掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。二、实验内容 1、用冒泡排序法对 10个整数排序。10个整数用 scanf函数输入。 2、输入一个矩阵,找出所在行上最大,列上最小的数。(可能没有) 。3、用递归法将一个整数n转换成字符串。例如,输入 483,应输出字符串“483”。n的位数不确定,可以是任意的整数。4、写函数求输出数列 2、2、4、4、6、16、8前 20项。三、实验源码及测试数据1、 #include #include main() int a10,i,j,max; printf(输入十个数:n); for(i=0;i10;i+) scan

10、f(%d,&ai); for(i=0;i10;i+) for(j=i;j10;j+) if(aiaj) max=ai; ai=aj; aj=max; printf(排序:n); for(i=0;i10;i+) printf(%d ,ai); printf(n); 2、 #include void main() int block44; int i,j,k,max,min,x,y; x=y=0; max=min=0; k=0; printf(请输入一个 4乘 4的矩阵:n); for(i=0;i4;i+) for(j=0;j4;j+) scanf(%d,&blockij); for(i=0;i4

11、;i+) for(j=0;jmax) max=blockij; y=j; min=blockij; for(i=0;i4;i+) if(blockiymin) min=blockiy; k=i; if(min=max) printf(此数位于%d行%d列,此数为%dn,k+1,y+1,max); x=1; if(x=0) printf(不存在这种数。n); 3、 #include main() void string(int a); int n; printf(输入一个整数n); scanf(%d,&n); string(n); printf(n); void string(int a) in

12、t i; if(i=a/10)!=0) string(i); printf(%c,a%10+0); 4、 #include #include long a(int i) returni+1; long b(int i) if(i=2) return2; else return(i-2)*(i-2); main() int i,x; for(i=1;i20;i+) if(i%2!=0) printf(%-4ld,a(i); else printf(%-4ld,b(i); if(i%5=0) printf(n); printf(n); 实验4 指针和结构体 一、实验目的1、掌握指针的概念、会定义和

13、使用指针变量。2、掌握指向数组的指针变量。3、掌握字符串指针的使用。4、掌握结构体定义和使用。 二、实验内容1、编一个程序,打入月份号,输出该月的英文月名,要求用指针数组处理。2、编写递归函数,将输入的以“?”结束的字符串按与输入相反的顺序输出。3、一个 45人班级有两门课,求所有成绩中的最高成绩,及对应的姓名,学号课程编号,分别求两门课的平均成绩,并找出两门课都低于平均分的学生信息,按 1课程成绩从高到低排序。三、实验源码及测试数据 1、 #include void main() int i; char*month12=January,February,March,April,May,Jun

14、e,July,August,September, October,November,December; printf(月份号:); scanf(%d,&i); printf(英文月名:); puts(monthi-1); 2、 #include #define N 200 main() void nixu(char*,int ); charaN; int n=0; gets(a); while(an!=?) n+; nixu(a,n); printf(n); void nixu(char*p,int n) int i; charp1; for(i=0;in/2;i+) p1=*(p+i); *

15、(p+i)=*(p+n-i-1); *(p+n-i-1)=p1; for(i=0;in;i+) printf(%c,*(p+i); #include #define N 200 main() void nixu(char*,int ); charaN; int n=0; gets(a); while(an!=?) n+; nixu(a,n); puts(a); int i=0; void nixu(char*p,int n) charp1; if(i!=(n/2) p1=*(p+i); *(p+i)=*(p+n-i-1); *(p+n-i-1)=p1; i+; nixu(p,n); 3、 #i

16、nclude #define N 3 structstudent charname20; int num; int score1; int score2; stuN,temp; main() structstudent *p; p=stu; int i,j,k,n,n1,n2,sum1,sum2,aN,aver1,aver2; k=n=n1=n2=sum1=sum2=0; for(i=0;iname); printf(输入学号:); scanf(%d,&(p+i)-num); printf(输入课程 1成绩:); scanf(%d,&(p+i)-score1); printf(输入课程 2成绩

17、:); scanf(%d,&(p+i)-score2); sum1+=(p+i)-score1; sum2+=(p+i)-score2; if(p+n1)-score1score1) n1=i; if(p+n2)-score2score2) n2=i; aver1=sum1/N; aver2=sum2/N; for(i=0;iscore1score2aver2) ak=i; k+; for(i=0;ik;i+) for(j=i;jscore1score1) temp=stuaj; stuaj=stuai; stuai=temp; printf(ntt最高成绩的学生信息%n); if(p+n1)

18、-score1(p+n2)-score2) n=n1; else n=n2; if(n!=0) printf(tt姓名:%sn,(p+n)-name); printf(tt学号:%dn,(p+n)-num); printf(tt课程 1成绩:%dn,(p+n)-score1); printf(tt课程 2成绩:%dn,(p+n)-score2); printf(ntt课程 1成绩平均成绩:%dn,aver1); printf(tt课程 1成绩平均成绩:%dn,aver2); if(k!=0) printf(ntt两门均低于平均成绩的学生信息%n); for(i=0;iname); printf

19、(tt学号:%dn,(p+ai)-num); printf(tt课程 1成绩:%dn,(p+ai)-score1); printf(tt课程 2成绩:%dn,(p+ai)-score2); else printf(ntt没有两门均低于平均成绩的学生%n); 实验5 文件一、实验目的1.掌握预处理的使用方法;2.掌握文件以及缓冲文件系统、文件指针的概念;3.学会使用文件打开、关闭、读、写等文件操作函数。二、实验内容1、有 5个学生,每个学生有 3门课的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件 stud中。设 5名学生的学号

20、、姓名和 3门课成绩如下: 99101 Wang 89, 98, 67.5 99103 Li 60, 80, 90 99106 Fun 75.5, 91.5, 99 99110 Ling 100, 50, 62.5 99113 Yuan 58, 68, 7l三、实验代码及测试数据1、 #include #define N 5 structstudent int number; charname10; float score4; stuN; void student_save() FILE*fp; if(fp=fopen(stu,wb)=NULL) printf(file creates err

21、orn); return; fwrite(&stu0,sizeof(structstudent),N,fp); fclose(fp); void student_display() int i; FILE*fp; if(fp=fopen(stu,rb)=NULL) printf(file creates errorn); return; fread(&stu,sizeof(structstudent),N,fp); printf(n验证输出n); for(i=0;iN;i+) printf(%d%6st%5.1f%5.1f%5.1f%5.1f%n,stui.number,stui.name,s

22、tui.score0,stui.s core1,stui.score2,stui.score3); Fclose(fp); main() int i; for(i=0;iN;i+) printf(No.%dn,i+1); printf(该学生的学号、姓名、3门课成绩:n); scanf(%d%s%f%f%f,&stui.number,&stui.name,&stui.score0,&stui.score1,&stui .score2); for(i=0;iN;i+) stui.score3=(stui.score0+stui.score1+stui.score2)/3; student_save(); student_display();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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