目录
一、题目内容
请输入字符串,最多输入4 个字符串,要求后输入的字符串排在前面,例如
输入:EricZ
输出:1=EricZ
输入:David
输出:1=David 2=EricZ
输入:Peter
输出:1=Peter 2=David 3=EricZ
输入:Alan
输出:1=Alan 2=Peter 3=David 4=EricZ
输入:Jane
输出:1=Jane 2=Alan 3=Peter 4=David
二、输入描述
第一行为字符串个数m,接下来m行每行一个字符串,m不超过100,每个字符串长度不超过20。
三、输出描述
输出m行,每行按照样例格式输出,注意用一个空格隔开。
四、输入输出示例
输入:
5 EricZ David Peter Alan Jane输出:
1=EricZ 1=David 2=EricZ 1=Peter 2=David 3=EricZ 1=Alan 2=Peter 3=David 4=EricZ 1=Jane 2=Alan 3=Peter 4=David
五、完整C语言代码
AC代码~
#include<stdio.h>
#include<string.h>
typedef struct Str {
char s[25]; // 存储字符串
} str;
int main() {
str stack[4]; // 容量为4的栈
int top = -1; // 栈顶指针
int m;
char tmp[25];
scanf("%d", &m);
char ch = getchar();
for (int i = 0; i < m; i++) {
scanf("%s", tmp);
if (top != 3) {
top++;
strcpy(stack[top].s, tmp);
} else { // 淘汰栈底的
for (int j = 1; j < 4; j++)
stack[j - 1] = stack[j];
strcpy(stack[3].s, tmp);
} // 打印
for (int i = top; i >= 0; i--)
printf("%d=%s ", top + 1 - i, stack[i].s);
printf("\n");
}
return 0;
}
266

被折叠的 条评论
为什么被折叠?



