首都字母查找例子
来源:互联网 发布:韩国淘宝美女模特官网 编辑:程序博客网 时间:2024/04/28 16:57
有如下字母方阵:
O
K
D
U
B
L
I
N
A
L
P
G
O
C
E
V
R
A
S
M
N
S
M
B
O
S
L
O
N
D
O
N
Y
I
B
L
H
L
R
C
K
R
Z
U
R
I
C
H
O
A
I
B
X
M
U
Z
T
P
Q
G
L
A
M
V
图5.1 字母方阵
字母方阵中藏着九个首都名:DUBLIN、TOKYO、LONDON、ROME、BONN、PARIS、ZURICH、OSLO、LIMA,试设计一程序指出首都名的起始字母在字母方阵中行号和列号及字母的走向(如图5.2)。
<div><img src="file:///C:\Users\志成\AppData\Roaming\Tencent\Users\954785030\QQ\WinTemp\RichOle\QTIQTP]OV)Y%IABXZ`O`%$V.png" alt="" /></div>
比如有如下结果:
BONN
1,
5
down
LONDON
4,
3
right
OSLO
4,
4
up left
LIMA
5,
6
down
ROME
5,
7
up
该问题的解决显然要用到字符串的比较操作。
例2 字母方阵(如图5.1)中藏着九个首都名:DUBLIN、TOKYO、LONDON、ROME、BONN、PARIS、ZURICH、OSLO、LIMA,试设计一程序指出首都名的起始字母在字母方阵中行号和列号及字母的走向。
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main()
{
int i,j,k,l,m,n,p,q;
int N[9];
char E[7],M[9];
char A[8][8]={'O', 'K', 'D', 'U', 'B', 'L', 'I', 'N',
'A', 'L', 'P', 'G', 'O', 'C', 'E', 'V',
'R', 'A', 'S', 'M', 'N', 'S', 'M', 'B',
'O', 'S', 'L', 'O', 'N', 'D', 'O', 'N',
'Y', 'I', 'B', 'L', 'H', 'L', 'R', 'C',
'K', 'R', 'Z', 'U', 'R', 'I', 'C', 'H',
'O', 'A', 'I', 'B', 'X', 'M', 'U', 'Z',
'T', 'P', 'Q', 'G', 'L', 'A', 'M', 'V'};
char C[9][7]={"DUBLIN","TOKYO","LONDON","ROME","BONN","PARIS","ZURICH","OSLO","LIMA"};
char D[8][11]={"up left","up","up right","right","down right","down","down left","left"};
int b[8]={0,1,2,3,4,5,6,7};
int di[8]={-1,-1,-1,0,1,1,1,0};
int dj[8]={-1,0,1,1,1,0,-1,-1};
printf(" —————————————\n");
printf("| 字母表 |\n");
printf("| O K D U B L I N |\n");
printf("| A L P G O C E V |\n");
printf("| R A S M N S M B |\n");
printf("| O S L O N D O N |\n");
printf("| Y I B L H L R C |\n");
printf("| K R Z U R I C H |\n");
printf("| O A I B X M U Z |\n");
printf("| T P Q G L A M V |\n");
printf(" —————————————\n");
for (i=0;i<=8;i++) /*按首都名依次搜索*/
{
N[i]=strlen(C[i]);
for (j=0;j<=7;j++) /*扫描A中的每个字符*/
for (k=0;k<=7;k++)
{
q=0;
for (l=0;l<=7;l++) /*扫描每一个方向*/
{
m=0;n=0;p=0;
while((m+j)<8&&(n+k)<8&&p<N[i])
{
E[p]=A[m+j][n+k];
m=m+di[l];
n=n+dj[l];
p=p+1;
}
E[p]='\0';
if(strcmp(E,C[i])==0)
{
q=1;
break;
}
}
if(q==1)
printf("\n%s\t\t%d,%d\t%s ",C[i],j+1,k+1,D[l]); /*输出结果*/
}
}
printf("\n");
system("pause");
}
- 首都字母查找例子
- 首都查找例子(深搜)
- 查找小写字母个数
- listview字母索引查找
- 字母查找树
- bzoj3510: 首都
- [bzoj3510]首都
- BZOJ3510 首都
- 二分法查找例子
- 索引查找简单例子
- C++ 字符串查找例子.
- 例子3.7 大小写字母的转换
- 查找小写字母开头的数据
- 快速查找字符串中首个重复字母算法
- C++ prime查找字母和数字
- 查找只含有数字和字母的
- 字符串查找有多少个字母
- 查找不在数组里的字母
- linux系统中如何查看日志 (常用命令)
- OpenCV学习笔记二(scan images)
- ACJoy A Presents
- c++模板类中的友元函数
- Project Euler Problem 71-80
- 首都字母查找例子
- 2015年度总结
- EasyPM 功能发布:「自定义看板」上线
- 3Dmax物体贴图后改变图片数量
- Struts2入门~常规使用
- 内部类和外部类的使用区间分析
- Java基础知识之异常处理机制
- CodeForces 610 A. Pasha and Stick(水~)
- 机器学习简史brief history of machine learning