本文主要是介绍题记(36)--编排字符串(栈的应用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、题目内容
二、输入描述
三、输出描述
四、输入输出示例
五、完整C语言代码
一、题目内容
请输入字符串,最多输入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;
}
这篇关于题记(36)--编排字符串(栈的应用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!