博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU1318 POJ1590 UVA401 ZOJ1325 Palindromes【回文+入门练习】
阅读量:6498 次
发布时间:2019-06-24

本文共 1150 字,大约阅读时间需要 3 分钟。

问题链接:。基础练习题,用C语言编写程序。

问题简述:参见上述链接。

问题分析:(略)

程序说明

程序中,使用两个函数封装功能,使得程序更加简洁易懂。

判定回文时,使用两个数组下标相向移动,是一种常见的套路。

AC的C语言程序如下:

/* HDU1318 POJ1590 UVA401 ZOJ1325 Palindromes */#include 
#include
#include
#define MAXN 30char miroralpha[] = "A 3 HIL JM O 2TUVWXY5";char mirordigit[] = "1SE Z 8 ";char *msg[] = {" -- is not a palindrome." , " -- is a regular palindrome." , " -- is a mirrored string." , " -- is a mirrored palindrome."};/* 字母镜像 */char miror(char c){ if(isalpha(c)) return miroralpha[c - 'A']; else return mirordigit[c - '1'];}/* 计算字符串类型 */int gettype(char s[]){ int start, end, p, m; p = 1; /* 回文标志 */ m = 1; /* 镜像标志 */ start = 0; end = strlen(s)-1; while(start <= end) { if(s[start] != s[end]) p = 0; if(miror(s[start]) != s[end]) m = 0; start++; end--; } return m * 2 + p;}int main(void){ char s[MAXN]; while(scanf("%s", s) != EOF) printf("%s%s\n\n", s, msg[gettype(s)]); return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7564538.html

你可能感兴趣的文章
解决maven下载jar慢的问题(如何更换Maven下载源)
查看>>
linux安装gitLab
查看>>
concurrent包的实现示意图
查看>>
golang os.Args
查看>>
Linux常用命令
查看>>
spring-data-elasticsearch 概述及入门(二)
查看>>
Solr启动和结束命令
查看>>
1.12 xshell密钥认证
查看>>
3.2 用户组管理
查看>>
VMware虚拟机出现“需要整合虚拟机磁盘”的解决方法
查看>>
ibatis 动态查询
查看>>
汇编语言之实验一
查看>>
git 调用 Beyond Compare
查看>>
SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)[转]
查看>>
android实现图片识别的几种方法
查看>>
mvc学习地址
查看>>
masonry 基本用法
查看>>
使用openssl创建自签名证书及部署到IIS教程
查看>>
Word产品需求文档,已经过时了【转】
查看>>
dtoj#4299. 图(graph)
查看>>