Word Reversal

redredblue redredblue 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近数据结构刚学的栈,做这道题,c++和c掺着用的
下面是我的代码 ,求问这样写有什么问题,怎么改,或者这样写不行?
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;

#define MAXSIZE 100
typedef char SElemType;
typedef struct{
SElemType *base;
SElemType *top;
int stacksize;
}stack;

int initstack(stack &q){
q.base=(SElemType*)malloc(MAXSIZE*sizeof(SElemType));
if(!q.base) return 0;
q.top=q.base;
return 1;
}

int main()
{
char a[1000];
stack q;
initstack(q);
int n,i;
cin>>n;
while(n--)
{
char e;
while((e=getchar())!='\n')
{//读取一个字符,让该字符进栈,如果字符是空格的话,删除栈顶元素,并用e返回其值存储在数组里,直到栈空
*q.top++=e;//进栈
if(e==' ')//有一个问题:如果e是空格能存入栈吗
{
for(i=0;q.top!=q.base;i++)
{
e=*--q.top;
a[i]=e;
}
}
}
for(int j=1;j<i;j++)
cout<<a[i];
cout<<endl;
}
return 0;
}

...全文
评论 11
收藏 已收藏
分享
返回顶部
redredblue
C++ 语言 65,214 成员 250,514 内容