用c语言实现 判断一个字符串是不是回文字符串

#include<stdio.h>;
#include<string.h>;

void huiwen( const char* str)
{
	int i;
	int flag;
	int len=strlen(str);
	char *ch=str;
	while(*ch!='\0')
	{
		ch++;
	}
	ch--;
	for(i=1;i<=len/2;i++)
	{
		if(*ch==*str)
		{
			flag=1;
			ch--;
			str++;
		}
		else
		{
			printf("不是回文字符串\n");
			return;
		}
	}
	if(flag==1)
	{
		printf("是回文字符串\n");
	}
}

int main()
{
	char *str="123321";
	huiwen(str);
	return 0;
}
<img src="http://img.blog.csdn.net/20150406155720053?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUzBTb3Vs/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

时间: 2024-10-29 03:50:23

用c语言实现 判断一个字符串是不是回文字符串的相关文章

【c语言】判断一个字符串是不是回文字符串

//判断一个字符串是不是回文字符串 #include <stdio.h> #include <assert.h> int panduan( char *p ) { char *q ; assert( *p != NULL ); q = p; while( *p != '\0') { p++; } p--; while(*q != '\0') { if( *p == *q) { p--; q++; } else return -1; } return 1; } int main()

判断一个字符串是不是回文字符串

  function isPalindrome(str) { str = str.replace(/\W/g, '').toLowerCase(); return (str == str.split('').reverse().join('')); } 先将传递进来的字符串中的除字母数字下划线之外的东西删除,并将字符串转化为小写. 然后将字符串转换为数组,目的是使用重排序方法reverse()方法,进行数组序列反转,然后再转换为字符串.与str进行比较如果相等证明是回文字符串 由于有个repla

【c语言】判断一个数是不是回文数

//判断一个数是不是回文数 #include <stdio.h> #include <assert.h> int panduan(int *p) { int t = 0; int n = *p; assert( *p != NULL ); //每次取出最后一个数乘10加到前边去 while( *p != NULL ) { t = t * 10 + *p % 10; *p = *p / 10; } //如果是回文数就会相等 if( t==n ) { return 1; } else

判断一个链表是不是回文链表

第一种方法: 额外空间复杂度O(N) ,遍历链表时,将元素入栈,再次遍历时,从栈中弹出元素,比较两者的大小,就可以判断是不是回文链表第二种方法:利用快慢指针,先找到链表的中间位置,然后反转链表的后半部分,再分别从链表两头遍历比较大小,最后将链表恢复为原始结构 public class PalindromeLinkedList { public static void main(String[] args) { Node head = new Node(1); head.next = new No

写一个少于 80 字符的函数,判断一个字符串是不是回文字符串

废话不多说,直接上代码: 1 function isPalindrome(str){ 2 return (str === str.split('').reverse().join('')); 3 } 4 5 console.log(isPalindrome('1 $bb$1')); // false 6 console.log(isPalindrome('1$bb$1')); // true

680. Valid Palindrome II【Easy】【双指针-可以删除一个字符,判断是否能构成回文字符串】

Given a non-empty string s, you may delete at most one character. Judge whether you can make it a palindrome. Example 1: Input: "aba" Output: True Example 2: Input: "abca" Output: True Explanation: You could delete the character 'c'. N

(c语言)回文字符串的判断,gets和scanf

问题描述: 判断一个字符串是否是回文字符串. 程序分析: 回文字符串: 回文字符串是指一个字符中的最高位与最低位的字符是一样的,次高位和次低位上的字符是一样的,以此类推.同时,值得注意的是单个字符,或者多个重复的字符也是回文字符串. (1)定义一个判断回文数的函数,按照上面给出的回文数的定义,我们进行判断. (2)本程序在主函数传入字符串的过程中发现了用gets函数与用scanf函数的不一样之处.我想让这个程序在一个while循环的控制下可以判断多个字符串再结束.这时候如果用gets不断的读取s

【又见LCS】NYOJ-37 回文字符串

[题目链接] 回文字符串 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串.现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串. 输入 第一行给出整数N(0<N<100)接下来的N行,每行一个字符串,每个字符串长度不超过1000. 输出 每行输出所需添

关于回文字符串

1 提取一个字符串中的所有回文字符串 我目前的思路是循环遍历,第i个和0-i-1个如果a[i]=a[j],则判断i-j之间是不是回文,0-j之间的字符每个是一个回文字符串 2 找出一个字符串中的最长的回文字符串 先找出a[i-1]=a[i+1]或者a[i]=a[i+1]这样的数,然后像两边扩展,记录下长度和位置,直到遍历完所有的字符串,然后找出长度最大的 3给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串. 输入 第一行给出整数N(0<N<100)接下来