回文字符(第一周技术分享)
第一篇博客就来写一下这次面试婷婷学姐问我的一个问题吧!
最开始我只会用最笨的办法把每位上的数字都写出来
再去比较首末是否相等去判断是否为回文数。
#include <stdio.h>
int main()
{int arr[5];printf("请输入五位数:");for (int i=0;i<5;i++)scanf("%d",&arr[i]);//输入时应在每个数字之间输入空格if(arr[0]==arr[4]&&arr[1]==arr[3])printf("yes\n");elseprintf("no\n");return 0;
}
后来我觉得重复很麻烦,就用循环来输出数,并比较。
将数字储存到数组中,比较a[i]和a[j]的值是否相同即可。
while (n){a[i]=n%10;n/=10;i++;}i--;for (j=0;j<=i;j++,i--);{if (a[i]!=a[j]) {b=0; }}if(b)printf ("yes");elseprintf ("no"); }
我又想了另一个办法,将这个数字我重新计算
如果新计算的数字和原来的数字相同,那么就是回文数。
#include <iostream>
#include <math.h>
int main()
{int num;int t;int a = 0;int n;scanf ("%d",&num);t = num;n = floor(log10(num)) + 1; //计算这是几位数for(int i=1; i<=n; i++) {a = a * 10 + t % 10;//倒过来计算这个数字t /= 10;}if (num == a) //判断是不是回文数printf ("yes");else printf ("no");return 0;
}
但是这个需要计算出数字的长度,即它是几位数。
# include <stdio.h>
int main()
{ int n,m,s = 0; scanf("%d",&n); m = n; while(n) { s *= 10; s += n%10; n /= 10; } if(s == m) printf("yes"); else printf("no");
}
这样直接在除余时就将数字算好,也就不需要去计算数字的长度了。
面试的时候,学姐告诉我,回文数不光可以判断数字,也可以判断字母,在学姐的引导下,我有了思路,改变了以前的方法,将回文数拓展到了回文字符。
#include<stdio.h>
#include <string.h>
int main(){char str[1000];int i,len,k;while(1){scanf("%s",str);len=strlen(str);for(i=0;i<len/2;i++)if(str[i]!=str[len-i-1])break;if(i==len/2)printf ("yes");elseprintf ("no");
}
}
到这里,回文数回文字符都可以判断,也可以混合判断。
如果有什么错误,还请大家斧正。
回文字符(第一周技术分享)相关推荐
- 编程之美2015资格赛 题目2 : 回文字符序列 [ 区间dp ]
传送门 题目2 : 回文字符序列 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定字符串,求它的回文子序列个数.回文子序列反转字符顺序后仍然与原序列相同.例如字符串ab ...
- 题目2 : 回文字符序列(区间DP)
时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定字符串,求它的回文子序列个数.回文子序列反转字符顺序后仍然与原序列相同.例如字符串aba中,回文子序列为"a& ...
- matlab回文字符判断程序,(c语言)回文字符串的判断,gets和scanf
问题描述:判断一个字符串是否是回文字符串.程序分析:回文字符串:回文字符串是指一个字符中的最高位与最低位的字符是一样的,次高位和次低位上的字符是一样的 问题描述: 判断一个字符串是否是回文字符串. 程 ...
- [动规] hihocoder 1149 回文字符序列
题目大意 原题链接,给定字符串求回文子序列数量.字符串长度 $len \leq 1000 $. 算法思路 题干比较简单,而且数据量不大,很容易想到使用递推,关键在于如何定义递推中间值和递推式.博主做题 ...
- 数据结构——用栈解决回文字符问题
回文 回文是指正读反读均相同的字符序列,如"abba"和"abdba"均是回文,但"good"不是回文.试写一个算法判定给定的字符序列是否为 ...
- 2003基于栈的回文字符序列判断(C++)
描述 回文序列是正反读均相同的字符序列,如"abba"和"abdba"均是回文,但是"good"不是回文.请设计一个算法判定给定的字符序列是 ...
- 【无标题】(论文阅读)基于蚁群算法的现代藏文字符轮廓提取技术研究-孙淑娟
一.摘要 由于对字符提取骨架往往会失去受污损部位的重要信息,因此本文提出了一种基于蚁群算法的现代藏文字符轮廓提取 算法‚旨在用字符的轮廓线代替骨架线来表征字符.本算法用于印刷体藏文轮廓提取‚取得了良好 ...
- 学校招生幽默软文范文-第一互联传媒分享
山东师范大学基础教育集团是中国最具科研性和最具影响力的教育航母.设有中国高考研究中心,全国高考趋势研究,高考命题方向,高考准备,基础教育改革等.结果始终处于全国各省的前列.基于山东师范大学的优势,本集 ...
- 判断二维字符数组是否存在回文字符串例如:char a[] [10]={“asd“,“asa“,“werew“,“yuyu“}; 提示存在回文字符串,回文字符串对称
1.循环二维数组,存在回文,返回1,否则返回0 int LoopStr(char str[] [10],int n) 2.回文字符串函数,是回文返回1,否则返回0 int HuiWen(char *p ...
最新文章
- 把eclipse从英文调整为中文
- flash,sdram 和 cpu 是 T形连接(类似于争的板子上flash和sdram的拓扑结构) --- FLASH搭上SDRAM,并不是你想象的那样不用布等长!...
- TypeError: Cannot read property ‘range‘ of null
- 2020年国家电网计算机类考纲,终于发布!详解2020届国家电网考试大纲,带你读懂考纲变化!...
- 【算法学习】线性时间排序-计数排序、基数排序和桶排序详解与编程实现
- socket.io框架学习
- Basis Cash公布V2路线图:将进行流动性迁移并将于Q3推出Basis Swap
- Atitit 计算机系统结构 计算机系统结构 Cpu 存储 cache 指令系统 目录 Line 56: 第2章指令系统设计 指令格式 寻址方式	1 Line 64: 第3章CPU及其实现
- 4行代码,Python玩转美图秀秀
- 常用生活必备在线网页软件
- python输出26个大写字母怎么读_26个大写字母怎么读?
- idea 查找替换快捷键
- 利用软连接实现 OneDrive 任意文件夹同步
- 新闻叙事与文学影视叙事的区别
- 查看oracle11g的企业管理器(OEM)
- Android中WebView控件支持地理位置定位
- 2021-04-01
- Java核心技术卷一 -第四章:方法参数
- 舟正科级DAMQ-4202基于LabVIEW的数据通信采集
- WINDOWS键盘事件监控原理及应用 (转)