c语言输出…EdCbAbCdE…相邻大小写分开,对称

Python011

c语言输出…EdCbAbCdE…相邻大小写分开,对称,第1张

# include<stdio.h>

void main()

{

char s1[ ]={"edcba"},s2[80]

int i=0,j=0

//将s1字符串的内容复制到s2字符串中

while(s1[i]!='\0')

{

s2[j]=s1[i]

i++

j++

}

i-- //不包括结束标志

//实现对称

while(i-->0)

s2[j++]=s1[i]

s2[j]='\0'

//相邻大小写

for(i=0s2[i]!='\0'i++)

if(i%2==0)

s2[i]-=32

puts(s2)

}

因为它说了依次轮流入栈和入队= =,所以就是A放栈,B放队,C放栈,D放队。

栈是先进后出,a在输出的第一个,那么肯定是在b进入前出来的,后面的bc也是同样情况,所以前六个是进a,出a,进b,出b,进c,出c,此时栈为空,后面输出序列为e,d,均在f之前,同理说明ed在f入栈之前出来的;

次序是 进d,进e,出e,出d,此时栈又空了,出栈为f,g,次序和输入一样,就是和a,b的一样,所以是进f,出f,进g,出g

全部过程:进a,出a,进b,出b,进c,出c,进d,进e,出e,出d,进f,出f,进g,出g。

扩展资料

栈在程序的运行中有着举足轻重的作用。最重要的是栈保存了一个函数调用时所需要的维护信息,这常常称之为堆栈帧或者活动记录。

1、进栈(PUSH)算法

①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②);

②置TOP=TOP+1(栈指针加1,指向进栈地址);

③S(TOP)=X,结束(X为新进栈的元素);

2、退栈(POP)算法

①若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作②);

②X=S(TOP),(退栈后的元素赋给X):

③TOP=TOP-1,结束(栈指针减1,指向栈顶)。

参考资料来源:百度百科-栈