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

本文共 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/7564539.html

你可能感兴趣的文章
Mac别名以及自定义命令
查看>>
UIButton扩大响应区域
查看>>
scp详解
查看>>
SpringMVC的请求
查看>>
Hibernate学习笔记第一天 带Hibernate4架包
查看>>
hibernate一些方法的运用
查看>>
sublimetext编译Lua的配置
查看>>
【日积月累】C/C++可变参数函数的实现
查看>>
webSocket实现扫码登录
查看>>
JDBC的介绍和数据库的连接
查看>>
Linux下用NetHogs监控各个进程流量
查看>>
RAISE_APPLICATION_ERROR未能阻止用户登录DB
查看>>
计算机图形软件---坐标表示
查看>>
统计嵌套数组中给定值的重要性 Employee Importance
查看>>
Redis Desktop Manager for mac
查看>>
redis_简单秒杀
查看>>
Oracle优化查询改写(第三章-操作多个表)
查看>>
注解、类加载器、代理
查看>>
GET和POST区别详解
查看>>
java.nio.ByteBuffer中flip、rewind、clear方法的区别
查看>>