c语言随机几位数字顺序颠倒,编写程序颠倒句子中单纯词的顺序

C/C++ codevoid reserverSentence(const char* sentence, int len, char sep)

{

int *index_mark = new int[len]();

int word_num = 1;

index_mark[0] = -1;

for(int i = 0; i < len; i++)

{

if(sentence[i] == ' ')

{

index_mark[word_num] = i;

word_num++;

}

}

char * word;

int word_start, word_len;

index_mark[word_num] = len;

word_num++;

for(int i = word_num - 1; i > 0; i--)

{

word_start = index_mark[i - 1] + 1;

word_len = index_mark[i] - word_start;

word = new char[word_len + 1]();

memcpy(word, sentence + word_start, word_len);

cout<

if(i != 1)

{

cout<

}

delete[] word;

}

cout<

delete[] index_mark;

}

void reserverSentences(const char* sentences, int len)

{

int old_pos = -1;

for(int i = 0; i < len; i++)

{

if(sentences[i] == '.' || sentences[i] == '?' || sentences[i] == '!')

{

reserverSentence(sentences + old_pos + 1, i - old_pos - 1, sentences[i]);

old_pos = i;

}

}

}

int _tmain(int argc, _TCHAR* argv[])

{

cout<

string line;

getline(cin, line);

reserverSentences(line.c_str(), line.size());

system("pause");

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值