判断输入的字符串是否是回文数

<?php
function yuanyincount($str)
{
$str_len=strlen($str);

$a_count=0;
$e_count=0;
$i_count=0;
$o_count=0;
$u_count=0;
$other_count=0;

//五种原因字母的数组,没写输出
$a_arr=array();
$e_arr=array();
$i_arr=array();
$o_arr=array();
$u_arr=array();
$other_arr=array();

$yuanyin_arr=array();//反转数组
$temp=‘‘;
for($i=0;$i<$str_len;$i++){
$temp=substr($str,$i,1);//
$temp=strtolower($temp);//先不考虑大小写
switch($temp){
case ‘a‘:
$a_count++;
$a_arr[]=$temp;
break;

case ‘e‘:
$e_count++;
$e_arr[]=$temp;
break;

case‘i‘:
$i_count++;
$i_arr[]=$temp;
break;

case ‘o‘:
$o_count++;
$i_arr[]=$temp;
break;

case‘u‘:
$u_count++;
$u_arr[]=$temp;
break;

default:
$other_count++;
$other_arr[]=$temp;
break;
}
}
echo ‘元音字母的数量是‘,$a_count+$e_count+$i_count+$o_count+$u_count,‘<br/>‘;
echo ‘字母a的数量是:‘,$a_count,‘<br/>‘;
echo ‘字母e的数量是:‘,$e_count,‘<br/>‘;
echo ‘字母b的数量是:‘,$i_count,‘<br/>‘;
echo ‘字母o的数量是:‘,$o_count,‘<br/>‘;
echo ‘字母u的数量是:‘,$u_count,‘<br/>‘;
}
function getmicrotime()
{
//
list($usec,$sec)=explode(‘ ‘,microtime());
return ((float)$usec+(float)$sec);
}
//记录开始时间
$starttime=getmicrotime();
echo yuanyincount(‘dfjkfdhjgjhfsdaoijiaoiaoko‘);
//放置要执行的代码
//例如 echo createpwd();
//记录结束时间
$endtime=getmicrotime();
$time=$endtime-$starttime;
echo ‘执行时间‘.$time,‘<br/>‘;

function jutice_huiwen($str){
//判断输入的字符串是否为回文
$str_rev=strrev($str);
if($str===$str_rev){
echo $str,‘是一个回文数‘,‘<br/>‘;
}else{
echo $str,‘不是一个回文数‘;
}
}

echo jutice_huiwen(‘racecar‘);

测试输出:

元音字母的数量是10
字母a的数量是:3
字母e的数量是:0
字母b的数量是:3
字母o的数量是:4
字母u的数量是:0
执行时间0.042128086090088
racecar是一个回文数

时间: 2024-08-05 09:56:47

判断输入的字符串是否是回文数的相关文章

C实例--判断一个字符串是否是回文数

回文是指顺读和反读内容均相同的字符串,例如"121","ABBA","X"等.本实例将编写函数判断字符串是否是回文. 引入两个指针变量,开始时,两个指针分别指向字符串的首末字符,当两个指针所指字符相等时,两个指针分别向后和向前移动一个字符位置,并继续比较,直到两个指针相遇,说明该字符串是回文,如果比较过程中发现两个指针指向的字符不相等,则判断该字符串不是回文. 下面是代码的实现部分: #include <stdio.h> #inclu

java采用3种方式判断用户输入的字符串是否为回文

一.描述 回文的定义:"回文数" 就是正读倒读都一样的整数.如奇数个数字:98789, 这个数字正读是98789,倒读也是98789:偶数个数字3223也是回文数. 我们今天将回文数扩展为字母和数字组合回文,如adgu6776ugda也是回文,我们采用三种方式判断这种类型的字符串是否为回文: 1.调用StringBuffer类对象的reverse()方法,将字符串翻转后与之前的字符串比较,如果相等则为回文,反之亦然: 2.采用low和high两个变量分别对应字符串对称位置的index,

使用数组判断输入的五位数是否为回文

输入一个五位正整数,使用数组判断它是不是回文数(例如12321是回文) Scanner inScanner = new Scanner(System.in);  System.out.print("请输入一个五位整数:");  String num = inScanner.next();  if (num.matches("\\d+")) { // 是否输入回车   char[] nums = num.toCharArray();  //将输入的字符串转化为一个字符

判断一个字符串是否为回文数字符串

#include<stdio.h> #define STRLEN 100 int Is_palindromic_str(char *str) { int left = 0;//字符串数组的第一个字母的下标 int i = 0; while(str[i] != '\0') { i++; } int right = i - 1;//字符串数组最后一个字母(非'\0')的下标 while(left <= right) { if(str[left] == str[right])//判断左右字符是

7.9 字符串-最小的回文数

今天为大家讲述一道字符串的题目,重在理解思路,找到对应的某个值,如果挨个枚举时间复杂度过高, 而对字符串进行修改,灵活性会相应的高许多 题目描述 回文数是从前往后和从后往前得到的数是相同的. 现给你一个正整数N,请你找到比N大的最小的那个回文数P. 输入 输入包含多组测试数据. 每组输入一个正整数N,N不超过10000位,并且N不包含前导0. 输出 对于每组输入,输出比N大的最小的那个回文数P. 样例输入 Copy 44 3 175 样例输出 Copy 55 3 181 题解代码:#includ

检测一个字符串是否为回文? 两种方法

/** *    检测一个字符串是否为回文?三种方法? *    方法1:用str.charAt(index) !=  str.charAt(len-i-1) *    方法2:用StringBuilder . reverse反转 *    方法3:用开关控制 */ public class reversChar { public static void main(String[] args) { String str = "123321"; //中文也可以 System.out.pr

华为机试—回文数判断

判断一个整型数是否为"回文数",如1221,232,5. #include <iostream> using namespace std; void isHuiwen(int number) { int n = 0;//余数. int m = number; while(m != 0) { n = n*10 + m %10; //number的最低位变为n的最高位 m = m /10; } if(n==number) cout << "yes"

Leetcode_09【回文数】

文章目录: 题目 脚本一及注释 脚本一逻辑 题目: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121输出: true示例 2: 输入: -121输出: false解释: 从左向右读, 为 -121 . 从右向左读, 为 121- .因此它不是一个回文数.示例 3: 输入: 10输出: false解释: 从右向左读, 为 01 .因此它不是一个回文数.进阶: 你能不将整数转为字符串来解决这个问题吗? 脚本一及注释:[用时52ms]

yzoi1109&amp;&amp;viojs1042最小步数的一点看法——回文数

Description - 问题描述 有一天,雄霸传授本人风神腿法第一式:捕风捉影..............的步法(弟子一:堂主,你大喘气呀.风:你给我闭嘴.)捕风捉影的关键是换气(换不好就会大喘气...). 使用捕风捉影这一招时并不是每一步都喘气,而是在特定的步数喘气.一般来说功力越高,喘气越稀疏.喘气的步数符合特定规律:第一要是SUSHU(弟子二:哇塞!堂主,你还会鸟语,我好好崇拜你呦!可是SUSHU是什么意思呢?风:笨蛋,那是汉语拼音!)第二要是一个回文数,回文数就是正反念一样的数,如: