程序3-3 Palindromes
刘大婶说这个比较难,哈哈,我感觉自己写的代码还是比较简单的.
#include<stdio.h>
#include<string.h>
#include<math.h>
int is_palindrome(char x[],int n);//用于判断是否回文 //如果回文的话,返回值为1,反之为0
int is_mirrored(char x[],int n);//用于判断是否镜像 //同上
int main()
{
char a[];
int s1,q,w;
while(scanf("%s",a)!=EOF)
{
s1=strlen(a);
q=is_palindrome(a,s1); //传送过去的长度是实际长度
w=is_mirrored(a,s1);
if(q==)
{
if(w==)
printf("%s -- is a mirrored palindrome.",a);
else
printf("%s -- is a regular palindrome.",a);
}
else
{
if(w==)
printf("%s -- is a mirrored string.",a);
else
printf("%s -- is not a palindrome.",a);
}
printf("\n\n");
}
return ;
}
int is_palindrome(char x[],int n)//判断是否回文
{
int m,i,q=;
m=n/; //实际长度
for(i=;i<m;i++)
{
if(x[i]==x[n--i])
q++;
}
if(q==m)
return ;
else
return ;
}
int is_mirrored(char x[],int n)
{
char a[]={"AEHIJLMOSTUVWXYZ12358"},b[]={"A3HILJMO2TUVWXY51SEZ8"};
int s1,q=,j,m,i;
if(n%==) //用于处理字符串的奇偶数.
m=n/;
else
m=(n/)+;
s1=sizeof(a);
for(i=;i<m;i++) //一次一次的向下 传送 所输入的 字符
{
for(j=;j<s1;j++) //将上一个传送下来的字符 寻找一下看看有没有是镜像字符的
{
if(x[i]==a[j]) //将输入的字符一个个的 和 镜像字符比较
{
break; //如果有相同的就跳出去.
}
}
if(j==s1) //不是镜像字符
return ;
else //发现了 它是镜像串中的字符
{
if(x[n--i]==b[j])//用于判断左边的 是不是和它对应的镜像串.
{
q++; //用于记录有几对镜像字符.
}
}
}
if(q==m)
return ; // 所有的镜像字符都对上号了.
else
return ; // 有的镜像字符不对号.
}
程序3-3 Palindromes的更多相关文章
- ytu 1940:Palindromes _easy version(水题)
Palindromes _easy version Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 47 Solved: 27[Submit][Statu ...
- 洛谷P1207 [USACO1.2]双重回文数 Dual Palindromes
P1207 [USACO1.2]双重回文数 Dual Palindromes 291通过 462提交 题目提供者该用户不存在 标签USACO 难度普及- 提交 讨论 题解 最新讨论 暂时没有讨论 ...
- HDOJ/HDU 2163 Palindromes(判断回文串~)
Problem Description Write a program to determine whether a word is a palindrome. A palindrome is a s ...
- Palindromes _easy version
Palindromes _easy version Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- 回文质数 Prime Palindromes
题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...
- CF 316div2 E.Pig and Palindromes
E. Pig and Palindromes Peppa the Pig was walking and walked into the forest. What a strange coincide ...
- P1217 [USACO1.5]回文质数 Prime Palindromes
题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...
- P1217 [USACO1.5]回文质数 Prime Palindromes(求100000000内的回文素数)
P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找 ...
- Manacher BestCoder Round #49 ($) 1002 Three Palindromes
题目传送门 /* Manacher:该算法能求最长回文串,思路时依据回文半径p数组找到第一个和第三个会文串,然后暴力枚举判断是否存在中间的回文串 另外,在原字符串没啥用时可以直接覆盖,省去一个数组空间 ...
随机推荐
- MongoDB学习day09--Mongoose aggregate 多表关联查询
Mongodb的aggregate应用之前已经说过了. 可以参考day06 Mongoose的aggregate函数应用 var mongoose=require('./db.js'); var Or ...
- 数据库中的DDL/DML/DCL解释(转)
DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 1.CREATE - ...
- Google C++ style guide——C++类
1.构造函数的职责 构造函数中仅仅进行那些没有实际意义的初始化.由于成员变量的"有意义"的值大多不在构造函数中确定. 能够的话,使用Init()方法集中初始化为有意义的数据. 长处 ...
- XMLHttpRequest对象解读
<!DOCTYPE html> <html> <body> <script> function reqListener () { console.log ...
- 怎样更好的设计你的REST API之基于REST架构的Web Service设计及REST框架实现
一.REST 含状态传输(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格. 眼下在 ...
- 项目期复习总结1:背景图合并,hack,浏览器内核前缀,伪类after before
文件夹: 1.背景图合并和CSS Spirit 2.PS基本快捷键 3.hack技术基本书写,为什么不用? 4.内核前缀 5.伪类afterbefore 1.背景图合并和CSS Spirit 背景图合 ...
- EXTJS 4 树形表格组件使用演示样例
EXTJS 4 树形表格组件使用演示样例 一.总体效果图 version=1&modificationDate=1412058826000&api=v2" alt=" ...
- [iOS]经常使用正則表達式
经常使用正則表達式大全!(比如:匹配中文.匹配html) 匹配中文字符的正則表達式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包含汉字 ...
- eclipse中经常使用快捷键
熟练一些快捷键,会使你的开发更加快捷.高效,值得花些时间学一下! 1. ctrl+shift+r:打开资源 这可能是全部快捷键组合中最省时间的了.这组快捷键能够让你打开你的工作区中不论什么一个文件,而 ...
- 有oracle 10g,但没有安装arcgis,又想使用空间数据库的解决方案
我在一台虚拟机中部署系统进行测试,配置如下: OS:WIN2008 R2 SP1 X64 DB: oracle 12c 结果系统报错,查找原因,原来是oracle里还不支持arcgis的一些所谓的空间 ...