C语言课程设计实验报告.docx

上传人:b****8 文档编号:9211442 上传时间:2023-02-03 格式:DOCX 页数:14 大小:212.59KB
下载 相关 举报
C语言课程设计实验报告.docx_第1页
第1页 / 共14页
C语言课程设计实验报告.docx_第2页
第2页 / 共14页
C语言课程设计实验报告.docx_第3页
第3页 / 共14页
C语言课程设计实验报告.docx_第4页
第4页 / 共14页
C语言课程设计实验报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言课程设计实验报告.docx

《C语言课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《C语言课程设计实验报告.docx(14页珍藏版)》请在冰豆网上搜索。

C语言课程设计实验报告.docx

C语言课程设计实验报告

C语言课程设计

实验报告

 

姓名:

高峰

学号:

0909120614

指导教师:

郭克华

专业:

电气信息类

班级:

1206班

2013年1月4号

目录

一·课程设计的目的

二·实验内容

1·实验一

2·实验二

三·详细设计

1·实验前的分析及设计思想。

2·程序流程。

3·具体程序及解析。

4·测试结果。

四·设计总结

1·认识错误及纠正。

2·对C语言的认识。

一·课程设计的目的

1·使自己进一步理解和掌握课堂上所学的各种内容,以及它们在程序中的使用方法。

2·使自己掌握软件设计的基本内容和设计方法,并培养自己进行规范化软件设计的能力。

3·使自己掌握使用各种计算机资料和有关参考资料,提高自己进行课程设计的基本能力。

二·实验内容

1·实验一:

统计字符出现的频率

文件conf.txt中保存了很多字母,如:

akdsjfkasdfjaksfjdaksdfjaskldjfaieakjdkfkadsjfiwejfkasdjf

运行程序,计算这个文件中各个字母出现的频率,频率=出现的次数/总字母数。

将频率存储在文件rate.txt中。

格式为:

a:

3.2%

k:

3.8%

……

2·实验二:

文字替换

在文件content.txt中有一些内容。

编写程序,输入字符串1和字符串2,能将content.txt中

字符串1替换成字符串2,保存为newContent.txt。

 

三·详细设计

1·实验前的分析及设计思想。

1》实验一:

1·分析:

a·怎么统计字符串长度及各字符的数目。

b·怎么区分字母的大小写与非字母的区分。

C·取出文件和存放文件。

2·设计思想:

第一步:

为统计字符的数目而引用string函数;

第二步:

构造两个分别存放26个字母(一个大写、一个小写)的数组,和两个足够大的数组用于存放从文件取出来的字符(即字母)。

第三步:

读出文件的字符串,记长度以及把分开的大小写字母分别存放已构建的数组中。

第四步:

用循环统计字母出现的个数,并分别求它们的频率。

第五步:

将其运行后的结果放进指定的文件中。

 

2》实验二:

1·分析:

a·怎么替换原有文件中的字符串。

b·在文件中怎么找出要替换的字符串。

C·替换后怎么将其替换后的字符串放进文件中。

2·设计思想:

第一步:

打开文件,将字符串取出来。

第二步:

用循环找出要替换的字符串,将其前面的字符串放进指定的文件中。

第三步:

将替换成的字符串放进指定的文件中。

第四步:

再将要替换后的字符串放进文件中。

第五步:

关闭文件。

 

实验一:

引用string函数,以计算字符串长度。

程序流程图:

开始

打开文件并读出字符串。

结束

关闭文件。

建立足够大的数组存放大写字母。

建立足够大的数组存放小写字母。

 

 

源代码及解析:

#include

#include

main(){

FILE*fp1,*fp2;

inti,j=0,n1,n2,k,e=0;

floatcount1[26]={0},count2[26]={0};

floatrate[26]={0};

chara[100000],s[101],m[100000];

charb[27]="abcdefghijklmnopqrstuvwxyz";

charc[27]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

fp1=fopen("e:

\\conf.txt","r");

fp2=fopen("e:

\\rate.txt","w");

while(!

feof(fp1))

{

fgets(s,100,fp1);

k=strlen(s);

for(i=0;i

{if(s[i]>='a'&&s[i]<='z')

{a[j++]=s[i];}/*把小写字母放到a数组中*/

elseif(s[i]>='A'&&s[i]<='Z')

{m[e++]=s[i];}/*把大写字母放到m数组中*/

}

}

printf("%s\n",a);

printf("%s\n",m);

n1=strlen(a);

n2=strlen(m);

printf("%d%d",n1,n2);

for(i=0;i<(n1+n2);i++)

for(j=0;j<26;j++)

if(a[i]==b[j])

count1[j]++;//给字母排序并计算个数。

for(j=0;j<26;j++)

{

rate[j]=100*count1[j]/(n1+n2);//计算小写字母频率并放入文件中。

if(rate[j]!

=0)

fprintf(fp2,"%c:

%0.1f%%%\n",b[j],rate[j]);

}

for(i=0;i<(n1+n2);i++)

for(e=0;e<26;e++)

if(m[i]==c[e])

count2[e]++;//printf("%s",count[1]);//给字母排序并计算个数。

for(e=0;e<26;e++)

{

rate[e]=100*count2[e]/(n1+n2);//计算大写字母频率并放入文件中。

if(rate[e]!

=0)

fprintf(fp2,"%c:

%0.1f%%%\n",c[e],rate[e]);

}fclose(fp1);fclose(fp2);

}

测试结果:

源文件:

实验二:

程序流程图:

主要流程模块

写入新的字符串。

输入要替换的字符。

文本关闭模块。

输入被替换的字符。

文本打开模块。

代码及解析:

#include

#include

main()

{inti,k1,k2,k,flag,j,n;

chars[100],a[50],b[50];

FILE*fp1,*fp2;

fp1=fopen("c:

\\content.txt","r");

fp2=fopen("c:

\\newContent.txt","a");

printf("请输入要替换的字符串:

");

scanf("%s",a);

k1=strlen(a);

printf("请输入替换后的新字符串:

");

scanf("%s",b);

while(fscanf(fp1,"%s",s)!

=EOF)/*用fscanf读fp指向的文件,要读的内容是一个字符串%s,

把字符串读到s数组指向的空间里,如果读成功,fscanf返回成功读取的字符的个数,

如果失败,返回EOF。

*/

{

k=strlen(s);

for(i=0;i

{

if(s[i]==a[0])

{n=i;

flag=1;

for(j=1;j

if(s[++i]!

=a[j]){flag=0;break;}/*寻找与a数组相同的字符串*/

if(flag==1)/*找到后要进行的循环*/

{

for(i=0;i

fprintf(fp2,"%c",s[i]);

fprintf(fp2,"%s",b);

for(i=n+k1;i

fprintf(fp2,"%c",s[i]);

}

}

}

fprintf(fp2,"\n");/*换行*/

}fclose(fp1);

fclose(fp2);}

测试结果:

 

 

 

四:

设计总结

1》认识错误及纠正:

1.首先不知道怎样打开文件,然后通过查资料才基本了解怎样打开文件。

2.不知道数组的读写函数,通过看书和请教同学算是可以用了。

3.不了解一些数组的运用,然后很多运用到数组的程序不懂编,幸好同学指导了一下,还算勉强懂运用了。

4.重返文件函数一点也不懂,然而这在编程中运用很大,所以很难下手编程,后来请教同学后,算是可以模仿一点啦。

但是很多还不是很深刻的了解,希望假期好好读书,把它理解透,并灵活运用。

2》对C语言的认识:

C语言并非是“difficult”的,只要你能理清思路,掌握它的精髓,那么自学C语言是一件非常容易又其乐无穷的事。

C语言的优点很多:

1.兼备高级语言与低级语言的优点,属于一种中间语言。

2.它是一种结构化程序设计语言,非常适合结构化程序设计。

3.有较丰富的数据类型、运算符以及函数供以选用。

4.直接与内存打交道,使修改、编辑其他程序与文档变得轻松、简单。

因此,要想学好C语言,首先要有缜密的思维,对于任何程序来说,不是说看懂了就行啦,要明白一个程序的算法,这个算法的来源是什么,这样对自己在以后的程序设计中会有很多的帮助。

 

附注:

1.《C语言程序设计》(第二版)李丽娟,马淑萍;

2.《C程序设计》(第四版)谭浩强;

3.《C程序设计思想与方法》尹宝林;

4.《C语言课程设计案例精编》(第二版)吴启武刘勇王俊峰薛欣;

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1