任务三之规范文本(有错误,求助!)

来源:互联网 发布:网络歌曲2014伤感情歌 编辑:程序博客网 时间:2024/06/08 02:13

这个程序中有错误,可是不知道是什么错误,该怎样改,老师呀,向您求助一下~~



/*(文件注释头部开始) *程序的版权和版本声明部分 *Copyright (c) 2011,烟台大学计算机学院学生 *All rights reserved. *文件名称:字符串中单词的重新排列*作    者:2011级计114-3张宗佳 *完成日期:2011年3月3号 *版本号:vc.3* 对任务及求解方法的描述部分 * 输入描术:输入一行字符串* 问题描述: 输入一行字符,将其整理为规范的文本并输出,如输入"   how  old are   you?   I am    20.  it    is  too  old."*输出: how old are you? i am 20. it is too old.* 程序输出:将单词整理规范并输出* 程序头部的注释结束 */  #include<iostream>using namespace std;int main(){char str1[81],str2[81];//一行可以输入80个字符,所以定义次数组内有81个字符int i = 0, n = 0, j, k;bool isword = false;gets(str1);//这里不cin,如果用cin的话,输入的字符串,遇到空格就会结束while(str1[i]!='\0')//'\0'是字符串结束的标志,当str[i] = '\0'时,循环体结束{if(str1[i] == ' ')//如果字符是空格,就不是单词{isword = false;}else if(isword == false)//否则,如果前一个字符不是单词,那么从空格之后的第一个字符开始时一个单词{isword = true;for(j = i;str1[j] != ' '; ++j){str2[n] = str1[j];++n;}str2[n] = ' ';++n;}++i;}for(k = 0; k <= n; ++k){cout << str2[k];}cout << endl;return 0;}
为什么会出现这种结果.....谁来帮帮我?

原创粉丝点击