ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:511.85KB ,
资源ID:12939192      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-12939192.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言实验报告.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

c语言实验报告.docx

1、c语言实验报告北京联合大学C语言综合实验设计报告设计名称 C语言综合实验设计 姓 名 专 业 班 级 完成时间 1、实验名称:C语言综合实验设计-实用小工具2、程序功能:(1)输出任何字符组成的任意行菱形图案。(2)求解任意一个二元一次方程。(3)判断任意一个自然数是否为质数。(4)可以对输入的任意多个数进行排序(运用指针的方法给一列数排序)。(5)输入任意一个自然数可以求其阶乘。(6)对在D盘根下的a.txt中的数据进行排序,并且在相同路径下的b.txt输出已经排列好的一列数。(文件的读写,冒泡法排序)3、程序的运行截图。开始运行的界面 如图(1) 图1菜单界面 如图(2) 图(2)功能 1

2、 打印菱形块 如图3 图(3)功能2 求任意一个二元一次方程的根 如图4 图(4)功能3 判断一个数是否为质数 如图5 图(5)功能4给输入的几个数排序 如图6 图(6)功能5 求一个自然数的阶乘如图(7) 图(7)功能6对在D盘根下的a.txt中的数据进行排序,并且在相同路径下的b.txt输出已经排列好的一列数。如图(8)(9)(10) 图(8)d盘根下的a.txt中的数据 图(9)在相同路径下b.txt中的数据 图(10)运行时的窗口退出功能 如图(11) 图(11)2代码分析 (1)程序的结构:本程序主要是利用一个菜单函数,switch函数进行各种功能,而菜单下的函数是该程序的精髓。其中

3、为了更好的实现人机对话,还选择性的利用了清屏函数等等。(2)各函数的功能分析:1、打印菱形,该函数主要利用for循环语句实现打印多个相同的图形,其关键代码为 for(i = 1; i = 1; i -= 2) printStar(m - i) / 2, ); printStar(i, *); printf(n); for(i = 1; i = n; i+) printf(%c, c);前两个循环主要实现打印图形和空格。而最后一个主要实现打印多少个指定的图形。最终二者结合实现打印出的具有菱形的大图形。2、求任意一个一元二次方程的根。该程序主要利用一些简单的运算,从而求出方程的根。其主要代码为:

4、float a, b, c; float x1, x2; float d; printf(Please input a, b, c:); scanf(%f%f%f, &a, &b, &c); d = b*b - 4*a*c; if(d 0) printf(No real root.n); /*判断是否能有实根*/ else if(d = 0) x1 = x2 = -b / 2. / a; printf(x1=x2=%fn, x1); else x1 = (-b + sqrt(d) / 2. / a; x2 = (-b - sqrt(d) / 2. / a; printf(x1=%f, x2=%

5、fn, x1, x2); 改代码的核心部分是语句:if(d 0) printf(No real root.n); /*判断是否能有实根*/ else if(d = 0) x1 = x2 = -b / 2. / a; printf(x1=x2=%fn, x1); else x1 = (-b + sqrt(d) / 2. / a; x2 = (-b - sqrt(d) / 2. / a;if函数的运用使方程是否有实根的判断变得简单。4、判断一个自然数是否为质数程序的主要代码为: int i=0,a=0; printf(input a number ); scanf(%d,&a); for(i=2;

6、ia-1) printf(%d is a prime numbern,a); else printf(%d is not a prime number n,a); 判断输入的自然数是否为质数主要由语句for(i=2;ia-1) printf(%d is a prime numbern,a); else printf(%d is not a prime number n,a);该程序仍由for语句完成质数的判断。由此也可以看出for语句在c语言中的重要性。5、给输入的任意一列自然数排序。程序主要代码: int a100,n,i,j,k,*p; printf(how many numbers do

7、 you want inputn); scanf(%d,&n); printf(input the number you want n); for(i=0;in;i+) scanf(%d,&ai); printf(before:); for(i=0;in;i+)printf(%d ,ai); printf(n); for(i=0;in-1;i+) for(j=0;jn-1-i;j+)if(ajaj+1) k=aj;aj=aj+1;aj+1=k; p=a; printf(after:); for(j=0;jn;j+) printf(%d ,pj); printf(n); 代码分析:要实现该程序预

8、期的功能,必须解决两个问题1、任意多个数的输入问题。2、给这些数排序。而数组可以解决任意数的输入问题,冒泡法可以解决任意多个数的排序问题。关键代码为程序主要代码: int a100,n,i,j,k,*p; printf(how many numbers do you want inputn); scanf(%d,&n); printf(input the number you want n); for(i=0;in;i+) scanf(%d,&ai);冒泡法排序 :for(i=0;in-1;i+) for(j=0;jn-1-i;j+)if(ajaj+1) k=aj;aj=aj+1;aj+1=k

9、;6、阶乘问题;程序中的主要代码;scanf(%d,&n); sum=1; for(i=1;i=n;i+) sum=sum*i; 该程序的编写较为简单,主要运用了累乘的方法。因此不多介绍。7、文件的输入输出问题。该程序的代码为 FILE *fin,*fout; int a1000; int i,j,k; fin=fopen(d:a.txt,r);/*打开D盘根下的名为a.txt的文件*/ for(i=0;it;i+) fscanf(fin,%d,&ai); fclose(fin); for(i=0;it;i+) printf(%6d,ai);printf(n); for(i=0;it-1;i+

10、) for(j=0;jaj+1) k=aj;aj=aj+1;aj+1=k; for(i=0;it;i+)printf(%6d,ai);printf(n); fout=fopen(d:b.txt,w);/*将所得的结果放在D盘根下的名为b.txt的文件*/ for(i=0;it;i+) fprintf(fout ,%6d,ai); fclose(fout); 主要涉及文件的读写问题,读文件主要代码为fin=fopen(d:a.txt,r);/*打开D盘根下的名为a.txt的文件*/ for(i=0;it;i+) fscanf(fin,%d,&ai); fclose(fin);写文件的主要代码为;

11、fout=fopen(d:b.txt,w);/*将所得的结果放在D盘根下的名为b.txt的文件*/ for(i=0;it;i+) fprintf(fout ,%6d,ai); fclose(fout);文件中数字的排序在前边已经介绍过,故不多做说明。其中程序的源代码见附件一。附件一(源代码)/* Note:Your choice is C IDE */#include #include #include #define t 10void mymenu();void printStar(int, char);void printDiamond();void fangcheng();void zh

12、ishu();void paixu();void jiecheng();void myfile();main() int a; while(-1) printf( my c language homework n); mymenu(); printf( make a choice from 1-7n); scanf(%d,&a); switch(a) case 1: printDiamond();break; case 2: fangcheng();break; case 3: zhishu();break; case 4: paixu();break; case 5: jiecheng();

13、break; case 6: myfile(); break; default :printf(errorn);break; case 7: exit(0); void mymenu() printf( press any key to clean the window); getch(); clrscr(); printf(if you want to choose 6 ,you must build a file whose name is a.txt in d disk!);/*程序说明,建立相应的文件夹*/ printf(and then input 10 numbers,you sh

14、ould also build another file b.txtin d disk!n); printf( | what do you want to do?|n); printf( |-|n); printf( | input a number |n); printf( |-|n); printf( | 1 : printDiamond | |n); printf( | 2 : fangcheng | |n); printf( | 3 : zhishu | |n); printf( | 4 : paixu | |n); printf( | 5 : jiecheng | |n); prin

15、tf( | 6 : myfile | |n); printf( | 7 : exit | |n); printf( |-|n); void printDiamond()/*打印菱形块*/ int m; int i; printf(how many rows do you want n); scanf(%d, &m); for(i = 1; i = 1; i -= 2) printStar(m - i) / 2, ); printStar(i, *); printf(n); void printStar(int n, char c) int i; for(i = 1; i = n; i+) pr

16、intf(%c, c); return; void fangcheng() float a, b, c; float x1, x2; float d; printf(Please input a, b, c:); scanf(%f%f%f, &a, &b, &c); d = b*b - 4*a*c; if(d 0) printf(No real root.n); /*判断是否能有实根*/ else if(d = 0) x1 = x2 = -b / 2. / a; printf(x1=x2=%fn, x1); else x1 = (-b + sqrt(d) / 2. / a; x2 = (-b

17、- sqrt(d) / 2. / a; printf(x1=%f, x2=%fn, x1, x2); void zhishu() int i=0,a=0; printf(input a number ); scanf(%d,&a); for(i=2;ia-1) printf(%d is a prime numbern,a); else printf(%d is not a prime number n,a); void paixu() int a100,n,i,j,k,*p; printf(how many numbers do you want inputn); scanf(%d,&n);

18、printf(input the number you want n); for(i=0;in;i+) scanf(%d,&ai); printf(before:); for(i=0;in;i+)printf(%d ,ai); printf(n); for(i=0;in-1;i+) for(j=0;jn-1-i;j+)if(ajaj+1) k=aj;aj=aj+1;aj+1=k; p=a; printf(after:); for(j=0;jn;j+) printf(%d ,pj); printf(n); void jiecheng() int n,i; long sum; printf(inp

19、ut a number); scanf(%d,&n); sum=1; for(i=1;i=n;i+) sum=sum*i; printf(%ld,sum); void myfile() FILE *fin,*fout; int a1000; int i,j,k; fin=fopen(d:a.txt,r);/*打开D盘根下的名为a.txt的文件*/ for(i=0;it;i+) fscanf(fin,%d,&ai); fclose(fin); for(i=0;it;i+) printf(%6d,ai);printf(n); for(i=0;it-1;i+) for(j=0;jaj+1) k=aj;aj=aj+1;aj+1=k; for(i=0;it;i+)printf(%6d,ai);printf(n); fout=fopen(d:b.txt,w);/*将所得的结果放在D盘根下的名为b.txt的文件*/ for(i=0;it;i+) fprintf(fout ,%6d,ai); fclose(fout); 评分标准评分项目满分(100分)实际得分完成基本内容30程序运行效果20创新能力20实验报告30合 计100指导教师评语:指导教师 2012 年 月 日总评成绩

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2