程序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数组找到第一个和第三个会文串,然后暴力枚举判断是否存在中间的回文串 另外,在原字符串没啥用时可以直接覆盖,省去一个数组空间 ...
随机推荐
- 解决maven Generating project in Interactive mode
在idea建一个基于maven结构的web项目时,cmd输出卡死在Generating project in Interactive mode不动了 用命令mvn archetype:generate ...
- 学习swift从青铜到王者之Swift控制语句04
1 if语句基本用法 if boolean_expression { /* 如果布尔表达式为真将执行的语句 */ } 如果布尔表达式为 true,则 if 语句内的代码块将被执行.如果布尔表达式为 f ...
- jenkins节约硬盘空间的几个办法
jenkins真是费硬盘和内存,我们先聊聊硬盘问题怎么解决: 1.不要保留太多的构建记录.发布包数量 相关描述如下:取最先匹配进行执行 2.构建完,删除吧
- 【APUE】进程间通信之消息队列
三种IPC的共同特征 1.标识符和键 每个内核中的IPC结构都用一个非负整数的标识符加以引用.当一个IPC结构被创建,以后又被删除时,与这种结构相关的标识符连续加1,直至达到一个整型数的最大值,然后又 ...
- vi和vim上查找字符串
方法/步骤 1 我们以samba的配置文件为例,搜索一个user的字符串. vim /etc/samba/smb.conf 打开smb.conf 2 命令模式下,输入/user "/&quo ...
- [React] PureComponent in React
In this lesson, you will learn how to use PureComponent in React to reduce the number of times your ...
- 自己定义控件 播放GIF动画
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- swagger 如何在UI界面加入Authentication token值
接口 2.access_token 值: 3 输入值:bearer+空格+值
- 修改linux环境变量配置文件
发现error ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost) ...
- conda安装速度慢解决办法
注意,清华已经撤掉其ananconda源, 下面的方法已经失效,中科大源好像也不行,如果有解决办法烦请评论告诉我. conda config --add channels https://mirror ...