用一个字符数组保存一个英文句子

巡山小妖精
518次浏览
2020年08月17日 11:55
最佳经验
本文由作者推荐

英语作文我的暑假-大学生暑期社会实践


河南城建学院



Henan University of Urban Construction
《高级语言程序设计》
课程设计报告



学 号: 081412220
姓 名: 郭晓甜
专 业:
计算机科学与技术
题 目:
用一个字符数组保存一个英文句子

指导老师:
周二强 王妍玲 杨斌

设计时间:第一周



计算机科学与工程学院
2013年9月


目录

一. 设计目的
1.掌握高级程序设计语言的基本思想、基本概念、基本方法和基本技能;
2.初步学会利用 c 语言编制一些程序以解决一般实际应用问题;
3.培养学生分析问题和解决问题的能力;
二. 设计内容
删除该英文句子中的前导空格,后导空格,并删除句子中多余的空格(单词之间留一
空格。
三.概要设计

1. 功能模块图;

开始程序



输入一个要编程的英文句子


进入TZ函数循环



得到返回值
2. 各个模块详细的功能描述。
#include
#include ----前两行为包含语句,指的是文件包含
在该C语言语句里,这个编程运行时,要把这两个文件打开
char str[200]; ------------ 定义字符串str (最大的存储量为200个字符)。
char tmp[200]; ------------ 定义字符串tmp (最大的存储量为200个字符)。
char frequency[200]; --------定义字符串frequency (最大的存储量为200个字符)。
void tz() --------------- 函数tz
{ ------------- 函数tz开始
int i,j,flag,len; -------------定义整形字符 i,j,flag,len
j=0; --------------给j赋值0
flag=1; ----------------给flag赋值1
len=strlen(str); ------------ 把strlen(str)值赋值给len
for(i=0;i { ---------for循环,开始
if(str[i]==' '&&flag==1)-------------if判断,str[i]==' '并且flag==1
{

-------------if条件判断开始
2




tmp[j ++]=str[i];-------------使用str[i]给tmp[J++]赋值
flag=0;-------------给flag赋值0
else -------------else如果上面if条件不符合
if(str[i]!=' ') -------------if条件判断,判断str[i]!=''
{ -------if条件开始


tmp[j++]=str[i]; ---------使用str[i]给tmp[J++]赋值
flag=1; ---------给flag赋值1
} ---------if条件结束
} ---------for循环,结束
len=strlen(tmp); ---------------把strlen(tmp)值赋值给len
j=0; ------------给j赋值0
if(tmp[0]!=' ') ---------if条件判断,判断条件是tmp[0]!=' '
str[j++]=tmp[0]; --------符合上面条件,使用tmp[0]给str[j++]赋值
for(i=1;i str[j++]=tmp[i]; -------------使用tmp[i]给str[j++]赋值
if(tmp[len-1]!=' ') ------------if条件判断,判断条件tmp[len-1]!=' '
str[j++]=tmp[len-1]; -----符合if条件下,使用tmp[len-1]给str[j++]赋值
str[j]='0'; --------------给str[j]赋值'0';
printf(result:n%sn输出符合删除该句子中的前导空格,后导空格,以及
句子中间的 多余空格

int main() -----------这里是这个编程语言的开始,主函数。
{ ---------------主函数开始。
printf(输出这个字符串
str[0]='0'; ----------给str[0]赋值'0'
gets(str); -------------进入函数 gets
tz(); --------------进入函数 tz
return 0; ------------返回一个0
} -------------主函数结束。
四.详细设计

1. 功能函数的调用关系图;(题简单的可以不写)

主函数 main



得到返回值
调用功能函数TZ





删去前导空格,后导空格,

句子中间多余空格

3



2.各功能函数的数据流程图;(题简单的可以不写)
第一步,删去前导空格,中间多余空格及后导空格









































4



第二步,输入要编程的句子并得到返回值






重点设计及编码。

for(i=0;i {
if(str[i]==' '&&flag==1)
{
tmp[j++]=str[i];
flag=0;
}
else
if(str[i]!=' ')
{
tmp[j++]=str[i];
flag=1;
}
}
len=strlen(tmp);
j=0;
if(tmp[0]!=' ')
str[j++]=tmp[0];
for(i=1;i str[j++]=tmp[i];
if(tmp[len-1]!=' ')
str[j++]=tmp[len-1];
str[j]='0';


printf(
gets(str);
tz();
return 0;




五.测试数据及运行结果

1. 正常测试数据(3组)及运行结果;

5







6





2. 非正常测试数据(2组)及运行结果



7



六.调试情况,设计技巧及体会

1. 对自己的设计进行评价,指出合理和不足之处,提出改进方案;
程序设计考虑不周,不够完整导致的程序无法运行,或运行不正确,程序繁
琐;
请教老师询问同学,并在vc6.0环境下逐行进行改错,最终获得程序的完整
运行

2.对设计及调试过程的心得体会。
一个星期的折腾,总算把课程设计给完成了,这是一个坚 苦而又漫长的过程。是啊,读
了那么多年的书,课程设计可是第一次。看着劳动成果,很欣慰!虽然这不 是我一个人做的,
是大家的共同努力得来的。
另外平时扎实的基础也十分关键,因为如果你平 时学得就不怎么样,那么你面对这么一
个比较有难度的程序,你可能会望而却步,看他人的程序都是个难 点,更别说让你自己去设
计。为了解决此。类问题,最好就是多向同学,老师请教,不要怕难为情。尤其 是老师,评
他们多年的编写程序的经验 。
整个课程设计终于完成了,完成的好辛苦,好艰难 ,但还是顺利的完成了。我们付出
了很多心血和汗水,但我认为我们得到的更多。同时有些同学积极的态 度让我感到一丝惭愧,
他们所体现出的坚持不懈的品质更令我折服。总之我受益匪浅。

8




七.参考文献
《新编C语言程序设计教程》(周二强著)清华大学出版社
《新编C语言程序设计教程第三版》(谭浩强)清华大学出版社
八.附录:源代码
#include
#include
char str[200];
char tmp[200];
void tz()
{
int i,j,flag,len;
j=0;
flag=1;
len=strlen(str);
for(i=0;i {
if(str[i]==' '&&flag==1)
{
tmp[j++]=str[i];
flag=0;
}
else
if(str[i]!=' ')
{
tmp[j++]=str[i];
flag=1;
}
}
len=strlen(tmp);
j=0;
if(tmp[0]!=' ')
str[j++]=tmp[0];
for(i=1;i str[j++]=tmp[i];
if(tmp[len-1]!=' ')
str[j++]=tmp[len-1];
str[j]='0';
printf(
}
int main()
{
printf(
gets(str);

9


tz();
return 0;
}


10

工作鉴定评语-欢欢喜喜过大年作文


善良的魅力作文-寒假作文400字


偃师高中-大学生心理健康心得


副乡长-马鞍山安工大附中


福州大学阳光学院吧-旅游活动总结


体操比赛-2008年入党申请书


小学生作文秋天来了-转正申请报告


2012语文高考题-南京医科大学招生网