nyoj1038纸牌游戏(模拟题)

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=1038

代码如下:

001. #include
002. #include
003. #include
004. using namespace std;
005.  
006. struct node
007. {
008. int fh;
009. int rank;
010. char a;       //数字
011. char b;     //符号
012. }N[5][20];
013. bool cmp(node n1,node n2)
014. {
015. if(n1.fh==n2.fh)
016. return n1.rank
017. return n1.fh
018. }
019. int main()
020. {
021. char s1[108],s2[58],s3[3];
022. int flag=1;
023. while(scanf("%s",s3)!=EOF)
024. {
025. memset(N,0,sizeof(N));
026. if(flag!=1)
027. printf("\n");
028. scanf("%s%s",s1,s2);
029. strcat(s1,s2);             //连接字符串
030. int len=strlen(s1);
031. int p=0,q=0,sum=0;
032. for(int i=0;i//首先将所有的牌分成4份
033. {
034. if(sum%4==0&&sum!=0)
035. {
036. p=0;
037. q++;
038. }
039. N[p][q].a=s1[i];
040. if(s1[i]>='2'&&s1[i]<='9')
041. N[p][q].rank=s1[i]-'0';
042. else if(s1[i]=='A')
043. N[p][q].rank=14;
044. else if(s1[i]=='T')
045. N[p][q].rank=10;
046. else if(s1[i]=='J')
047. N[p][q].rank=11;
048. else if(s1[i]=='Q')
049. N[p][q].rank=12;
050. else if(s1[i]=='K')
051. N[p][q].rank=13;
052. N[p][q].b=s1[i+1];
053. if(s1[i+1]=='C')
054. N[p][q].fh=1;
055. else if(s1[i+1]=='D')
056. N[p][q].fh=2;
057. else if(s1[i+1]=='S')
058. N[p][q].fh=3;
059. else if(s1[i+1]=='H')
060. N[p][q].fh=4;
061. p++;
062. sum++;
063. }
064. for(int i=0;i<4;i++)
065. sort(N[i],N[i]+13,cmp);
066. if(s3[0]=='E')
067. {
068. printf("East player:\n");     //东
069. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
070. for(int i=0;i<13;i++)
071. printf("|%c %c|",N[0][i].a,N[0][i].a);
072. printf("\n");
073. for(int i=0;i<13;i++)
074. printf("| %c |",N[0][i].b);
075. printf("\n");
076. for(int i=0;i<13;i++)
077. printf("|%c %c|",N[0][i].a,N[0][i].a);
078. printf("\n");
079. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
080. printf("South player:\n");     //南
081. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
082. for(int i=0;i<13;i++)
083. printf("|%c %c|",N[1][i].a,N[1][i].a);
084. printf("\n");
085. for(int i=0;i<13;i++)
086. printf("| %c |",N[1][i].b);
087. printf("\n");
088. for(int i=0;i<13;i++)
089. printf("|%c %c|",N[1][i].a,N[1][i].a);
090. printf("\n");
091. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
092. printf("West player:\n");      //西
093. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
094. for(int i=0;i<13;i++)
095. printf("|%c %c|",N[2][i].a,N[2][i].a);
096. printf("\n");
097. for(int i=0;i<13;i++)
098. printf("| %c |",N[2][i].b);
099. printf("\n");
100. for(int i=0;i<13;i++)
101. printf("|%c %c|",N[2][i].a,N[2][i].a);
102. printf("\n");
103. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
104.  
105. printf("North player:\n");     //北
106. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
107. for(int i=0;i<13;i++)
108. printf("|%c %c|",N[3][i].a,N[3][i].a);
109. printf("\n");
110. for(int i=0;i<13;i++)
111. printf("| %c |",N[3][i].b);
112. printf("\n");
113. for(int i=0;i<13;i++)
114. printf("|%c %c|",N[3][i].a,N[3][i].a);
115. printf("\n");
116. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
117. }
118. if(s3[0]=='S')
119. {
120. printf("East player:\n");     //东
121. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
122. for(int i=0;i<13;i++)
123. printf("|%c %c|",N[3][i].a,N[3][i].a);
124. printf("\n");
125. for(int i=0;i<13;i++)
126. printf("| %c |",N[3][i].b);
127. printf("\n");
128. for(int i=0;i<13;i++)
129. printf("|%c %c|",N[3][i].a,N[3][i].a);
130. printf("\n");
131. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
132.  
133. printf("South player:\n");     //南
134. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
135. for(int i=0;i<13;i++)
136. printf("|%c %c|",N[0][i].a,N[0][i].a);
137. printf("\n");
138. for(int i=0;i<13;i++)
139. printf("| %c |",N[0][i].b);
140. printf("\n");
141. for(int i=0;i<13;i++)
142. printf("|%c %c|",N[0][i].a,N[0][i].a);
143. printf("\n");
144. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
145.  
146. printf("West player:\n");      //西
147. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
148. for(int i=0;i<13;i++)
149. printf("|%c %c|",N[1][i].a,N[1][i].a);
150. printf("\n");
151. for(int i=0;i<13;i++)
152. printf("| %c |",N[1][i].b);
153. printf("\n");
154. for(int i=0;i<13;i++)
155. printf("|%c %c|",N[1][i].a,N[1][i].a);
156. printf("\n");
157. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
158.  
159.  
160. printf("North player:\n");     //北
161. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
162. for(int i=0;i<13;i++)
163. printf("|%c %c|",N[2][i].a,N[2][i].a);
164. printf("\n");
165. for(int i=0;i<13;i++)
166. printf("| %c |",N[2][i].b);
167. printf("\n");
168. for(int i=0;i<13;i++)
169. printf("|%c %c|",N[2][i].a,N[2][i].a);
170. printf("\n");
171. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
172. }
173. if(s3[0]=='W')
174. {
175. printf("East player:\n");     //东
176. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
177. for(int i=0;i<13;i++)
178. printf("|%c %c|",N[2][i].a,N[2][i].a);
179. printf("\n");
180. for(int i=0;i<13;i++)
181. printf("| %c |",N[2][i].b);
182. printf("\n");
183. for(int i=0;i<13;i++)
184. printf("|%c %c|",N[2][i].a,N[2][i].a);
185. printf("\n");
186. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
187.  
188.  
189. printf("South player:\n");     //南
190. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
191. for(int i=0;i<13;i++)
192. printf("|%c %c|",N[3][i].a,N[3][i].a);
193. printf("\n");
194. for(int i=0;i<13;i++)
195. printf("| %c |",N[3][i].b);
196. printf("\n");
197. for(int i=0;i<13;i++)
198. printf("|%c %c|",N[3][i].a,N[3][i].a);
199. printf("\n");
200. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
201.  
202.  
203. printf("West player:\n");      //西
204. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
205. for(int i=0;i<13;i++)
206. printf("|%c %c|",N[0][i].a,N[0][i].a);
207. printf("\n");
208. for(int i=0;i<13;i++)
209. printf("| %c |",N[0][i].b);
210. printf("\n");
211. for(int i=0;i<13;i++)
212. printf("|%c %c|",N[0][i].a,N[0][i].a);
213. printf("\n");
214. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
215.  
216.  
217. printf("North player:\n");     //北
218. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
219. for(int i=0;i<13;i++)
220. printf("|%c %c|",N[1][i].a,N[1][i].a);
221. printf("\n");
222. for(int i=0;i<13;i++)
223. printf("| %c |",N[1][i].b);
224. printf("\n");
225. for(int i=0;i<13;i++)
226. printf("|%c %c|",N[1][i].a,N[1][i].a);
227. printf("\n");
228. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
229. }
230. if(s3[0]=='N')
231. {
232.  
233. printf("East player:\n");     //东
234. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
235. for(int i=0;i<13;i++)
236. printf("|%c %c|",N[1][i].a,N[1][i].a);
237. printf("\n");
238. for(int i=0;i<13;i++)
239. printf("| %c |",N[1][i].b);
240. printf("\n");
241. for(int i=0;i<13;i++)
242. printf("|%c %c|",N[1][i].a,N[1][i].a);
243. printf("\n");
244. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
245.  
246.  
247.  
248. printf("South player:\n");     //南
249. printf("+---++---++---++---++---++---++---++---++---++---++---++---++---+\n");
250. for

你可能感兴趣的:(模拟题)