C++题目,分离单词,求解,字符串一点都不会啊

2024-11-17 03:29:22
推荐回答(3个)
回答(1):

挺长时间没写C了。具体语法可能有问题,就不写了,大致思路如下(嘛,做这种题的语言基础应该没啥问题):
1做个字符串堆栈
2做个临时存储用的字符串,起始点为0
3逐字符循环输入字符串
4碰到空格、逗号、小数点的时候将循环起始点至当前位置(为point)减一的字符串存入临时字符串。

5压栈
6更改循环起始点为point+1
7执行456步,直至字符串结束。
8出栈输出

回答(2):

是那个acm题库呀。同意楼上的思路。

回答(3):

#include
#include
#include
using namespace std;
int main()
{
int i,j,n;
char a[1000],t;
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='.'||a[i]==',')
for(j=i;a[j]!='\0';j++)
a[j]=a[j+1];
}
for(i=0;a[i]!='\0';i++);n=i;
for(i=0;i{
t=a[n-1-i];
a[n-1-i]=a[i];
a[i]=t;
}
n=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]!=' ')n++;
if(a[i]==' ')
{
for(j=0;j{
t=a[i-n+j];
a[i-n+j]=a[i-1-j];
a[i-1-j]=t;
}
n=0;
}
}
for(i=0;a[i]!='\0';i++)
cout<cout<system("pause");
return 0;
}