任何人都可以帮我解决这个问题吗?

时间:2017-08-10 02:56:56

标签: c

#include <stdio.h>
#include <conio.h>
#include <string.h>


int main() {
    int x,y,z,a;
    char arr[221];
    char temp;

    printf ("Enter values: ");
    gets(arr);

    a = strlen(arr);
    x=a;
    while (x!=-1){
           printf("\n%s", &arr[x]);
           x--;
    }    
    getch ();
}

输出必须像这样

样本输入:

A
2
1
R
X
D
W

注意:由于A是堆栈的第一个条目,因此堆栈应如下所示:

W D X R 1 2 A 

“A”位于数组或堆栈的最远端,这意味着“A”是第一个从堆栈中出来的。然后是2,1,R,依此类推......

您的输出应如下所示:

A
W D X R 1 2 

2
W D X R 1 

1
W D X R 

R
W D X 

X
W D 

D
W 

W

2 个答案:

答案 0 :(得分:0)

试试这个:

x=a-1;
while (x!=-1){
       printf("\n%c", &arr[x]);
       x--;
}  

使用x=a-1%c代替x=1%s

答案 1 :(得分:0)

首先,您使用A21RXDW,因此输入必须遵循此格式'A'。那是一个字符串。只有在这种情况下,堆栈顶部才能有char input[100]={'\0'}; //best practice scanf("%s",input); int stack_top = strlen(input) - 1; //iterate while(stack_top >= 0){ printf("%c\n", input[stack_top]); --stack_top; }

现在

    <div>
     @Html.DropDownList("product_cd", null, "None", htmlAttributes: new { style = "width: 100%", onclick = "searchAcc()"})
    </div>