用一个字符数组保存一个英文句子
英语作文我的暑假-大学生暑期社会实践
河南城建学院
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
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
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
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
if(tmp[len-1]!=' ')
str[j++]=tmp[len-1];
str[j]='0';
printf(
}
int main()
{
printf(
gets(str);
9
tz();
return 0;
}
10