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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言 课程设计报告.docx

1、C语言 课程设计报告泉州师范学院数学与计算机科学学院高级语言程序设计课程设计实 验 报 告 目 录1. 课程设计的目的和要求 11.1课程要求 11.2 课程目的 12课程设计选题 13课程设计内容 13.1 选题1 (选题名称) 1将一个数字字符串转换为一个整数; 13.2 选题2(选题名称) 53.3 选题3(选题名称) 93.4 选题4(选题名称) 123.5 选题5(选题名称) 164总结 194.1碰到的问题 194.2心得和体会 195. 参考文献 196附录(程序清单及注释) 191. 课程设计的目的和要求1.1课程要求运用所学C语言编程知识开发设计具有一定实用价值的计算机应用程

2、序。1.2 课程目的 复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握; 培养理论与实践相结合的能力; 培养独立分析问题解决问题的能力;2课程设计选题选题1:编程题第24题 将一个数字字符串转换为一个整数;选题2:编程题第44题 统计一个长度为2的字符串在另一个字符串中出现的次数;选题3:编程题第60题 删去一维数组中所有相同的数,使之只剩一个;选题4:编程题第76题 计算一个复杂的多项式的值;选题5:编程题第83题 将字符串尾部的*号全部删除。3课程设计内容3.1 选题1 (选题名称)将一个数字字符串转换为一个整数;3.1.1详细设计(1)主函数main()模块该模块功能说明:定义

3、一维字符数组、文件型指针变量,打开文件,调用gets函数输入原始数组,调用printf函数显示提示信息,在调用fun函数,得到由fun函数指针传回的返回值,得到目标字符串存放在原数组中,调用printf函数,在屏幕上显示运行结果,关闭文件;(2)各模块NS流程图s=0, i=0, s1=0n=strlen(p)p0=- 是 否i+int=pj-0s=s*s1+tP0=- 是 否返回-s 返回s该模块功能及程序说明:将一个数字字符串转换为一个整数。关键代码及代码注释long fun ( char *p) long s=0;int i=0,n,j,s1=10,t;n=strlen(p);if(p0

4、=-) i+;for(j=i;jn;j+)t=pj-0;s=s*s1+t;if(p0=-) return -s;else return s;3.1.2 运行结果运行结果。(附贴图)3.1.3 测试测试数据及结果。(附贴图)3.2 选题2(选题名称)统计一个长度为2的字符串在另一个字符串中出现的次数;3.2.1详细设计(1)主函数main()模块该模块功能说明:定义两个一维字符数组、文件型指针变量,打开文件,调用gets函数输入原始数组和长度为2的数组,调用printf函数显示提示信息,在调用fun函数,得到由fun函数指针传回的返回值,得到目标字符串存放在原数组中,调用printf函数,在屏幕

5、上显示运行结果,关闭文件;(2)各模块NS流程图n=0当*str为真p=strq=substr当*q为真*q=*p 是 否r+p+break*q=0 是 否n+str+返回n该模块功能及程序说明:统计一个长度为2的字符串在另一个字符串中出现的次数;关键代码及代码注释int fun(char *str,char *substr)char *p,*q;int n=0;while(*str) p=str; q=substr; while(*q ) if(*q=*p) q+; p+; else break; if(*q=0) n+; str+;return n;3.2.2 运行结果运行结果。(附贴图)

6、3.2.3 测试测试数据及结果。(附贴图)3.3 选题3(选题名称)删去一维数组中所有相同的数,使之只剩一个;3.3.1详细设计(1)主函数main()模块该模块功能说明:定义一维字符数组、文件型指针变量,打开文件,调用scanf函数输入原始数组,调用printf函数显示数组信息,在调用fun函数,得到由fun函数指针传回的返回值,得到目标字符串存放在原数组中,调用printf函数,在屏幕上显示运行结果,关闭文件;(2)各模块NS流程图j=1, i=1inai!=ai-1 是 否aj+=ai返回 j该模块功能及程序说明: 删去一维数组中所有相同的数,使之只剩一个;关键代码及代码注释int fu

7、n(int a, int n)int i,j=1;for(i=1;i=1e-6返回sum该模块功能及程序说明: 计算一个复杂的多项式的值;关键代码及代码注释double fun(double x)int n=1;double s1=1,p=1,sum=0,s0,t=1;do s0=s1;sum+=s0;t*=n;p*=(0.5-n+1)*x;s1=p/t;n+; while(fabs(s1-s0)=0.000001);return sum; 3.4.2 运行结果运行结果。(附贴图)3.4.3 测试测试数据及结果。(附贴图)3.5 选题5(选题名称)将字符串尾部的*号全部删除。3.5.1详细设计

8、(1)主函数main()模块该模块功能说明:定义一维字符数组、文件型指针变量,打开文件,调用scanf函数输入原始数组,调用printf函数显示数组信息,在调用fun函数,得到由fun函数指针传回的返回值,得到目标字符串存放在原数组中,调用printf函数,在屏幕上显示运行结果,关闭文件;(2)各模块NS流程图p=0, t=a 当*t为真*t!=*是 否p=it+*(a+p+1)=0该模块功能及程序说明: 将字符串尾部的*号全部删除。关键代码及代码注释void fun( char *a)int i,p=0;char *t=a;for(i=0;*t;i+) if(*t!=*) p=i; t+;*

9、(a+p+1)=0; 3.5.2 运行结果运行结果。(附贴图)3.5.3 测试测试数据及结果。(附贴图)4总结4.1碰到的问题 对冒泡排序法和选择排序法还不能灵活运用。对文件的认识度不够,导致不理解主函数的意思 。4.2心得和体会第一次为期一周这么长时间的做程序题,感触颇多,也对程序有了一定的认识。自己的做题速度也明显增快。在这一段时间里我深深地意识到自己的阅读量太小,对C的知识掌握不全面,不会深究这门语言。真的,要学好一门语言,就要扎扎实实地学习,这些语言也都是前人想出来的,那我们就应该学会站在巨人的肩膀上看世界,在他们的基础上把C学得更好。5. 参考文献【1】谭浩强主编.C程序设计(第三版

10、).北京:清华大学出版社,2005【2】崔武子,李青,李红豫编著.C程序设计辅导与实训. 北京:清华大学出版社,2004.1【3】崔武子等著.C程序设计教程. 北京:清华大学出版社,20036附录(程序清单及注释)选题1:编程题第24题 将一个数字字符串转换为一个整数;#include #include long fun ( char *p) long s=0;int i=0,n,j,s1=10,t;n=strlen(p);if(p0=-) i+;for(j=i;jn;j+)t=pj-0;s=s*s1+t;if(p0=-) return -s;else return s;main() char

11、 s6; long n; FILE *out; char *test = -1234, 5689, 7102, -4356; printf(Enter a string:n); gets(s); n = fun(s); printf(%ldn,n); out=fopen(out.dat, w); for(n=0;n4;n+) fprintf(out, %ldn, fun(testn); fclose(out);选题2:编程题第44题 统计一个长度为2的字符串在另一个字符串中出现的次数;#include #include #include int fun(char *str,char *subs

12、tr)char *p,*q;int n=0;while(*str) p=str; q=substr; while(*q ) if(*q=*p) q+; p+; else break; if(*q=0) n+; str+;return n;main() char str81,substr3; int n; FILE *out; printf(输入主字符串: ); gets(str); printf(输入子字符串: ); gets(substr); puts(str); puts(substr); n=fun(str,substr); printf(n=%dn,n); out=fopen (out

13、.dat, w); strcpy(str, asd asasdfg asd as zx67 asd mklo); strcpy(substr, as); fprintf(out, %d, fun(str, substr); fclose (out ); getch();选题3:编程题第60题 删去一维数组中所有相同的数,使之只剩一个;# include # define N 80int fun(int a, int n)int i,j=1;for(i=1;in;i+) if(ai!=ai-1) aj+=ai; return j;main() int aN=2,2,2,3,4,4,5,6,6,6

14、,6,7,7,8,9,9,10,10,10,10, i,n=20; FILE *out ; printf(The original data :n); for(i=0; in; i+) printf(%3d,ai); n=fun(a,n); printf(nnThe data after deleted :n); out=fopen (out.dat,w); for(i=0;in;i+) printf(%3d,ai); fprintf(out, %dn, ai); fclose (out ); printf(nn);选题4:编程题第76题 计算一个复杂的多项式的值;#include #incl

15、ude double fun(double x)int n=1;double s1=1,p=1,sum=0,s0,t=1;do s0=s1;sum+=s0;t*=n;p*=(0.5-n+1)*x;s1=p/t;n+; while(fabs(s1-s0)=0.000001);return sum; main() int i; double x,s; FILE *out; printf(Input x: ); scanf(%lf,&x); s=fun(x); printf(s=%fn,s); out=fopen (out.dat, w); for (i = 20; i 30; i+) fprint

16、f(out, %fn, fun(i/100.0); fclose (out );选题5:编程题第83题 将字符串尾部的*号全部删除。#include #include #include void fun( char *a)int i,p=0;char *t=a;for(i=0;*t;i+) if(*t!=*) p=i; t+;*(a+p+1)=0; main() char s81; FILE *out; printf(Enter a string:n); gets(s); fun( s ); printf(The string after deleted:n); puts(s); out=fopen (out.dat, w); strcpy(s, *A*BC*DE*F*G*); fun(s); fprintf(out, %s, s); fclose (out );

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

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