⑴ c语言编写一个程序,判断输入的一个字符串是否是回文。
源代码如下:
#include <stdio.h>
int main()
{
int n, reversedInteger = 0, remainder, originalInteger;
printf("输入一个整数: ");
scanf("%d", &n);
originalInteger = n;
// 翻转
while( n!=0 )
{
remainder = n%10;
reversedInteger = reversedInteger*10 + remainder;
n /= 10;
}
// 判断
if (originalInteger == reversedInteger)
printf("%d 是回文数。", originalInteger);
else
printf("%d 不是回文数。", originalInteger);
return 0;
}
(1)用c语言指针判断字符是否是回文扩展阅读
1、函数的返回值是通过函数中的return语句获取的。
2、函数值的类型。
3、如果函数值的类型和return语句中表达式的值不一样,则以函数类型为准。
4、如果调用函数中没有return语句,并不带回一个确定的用户需要的值,函数不是不带回值,而只是不带回有用的值,带回一个不确定的值。
⑵ 用C语言编写程序,从键盘输入一串字符,判断输入字符串是否是回文
#include
int
symmetry()
{
char
ch1,ch2;
scanf("%c",&ch1);
if(ch1=='-')//递归结束条件。
return
1;
else
if(symmetry())//自己调用自己。
{
scanf("%c",&ch2);
if(ch1==ch2)
return
1;
else
return
0;
}
return
0;
}
void
main()
{
printf("输入一组字符(形式为W-M):\n");
if(symmetry())
printf("是回文字符\n");
else
printf("不是回文字符\n");
}
⑶ C语言用指针编写函数判断输入的字符串是是否为回文,然后再主函数中
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。
⑷ c语言判断是否为回文
首先清楚什么是回文。。。我们称正读和反读都相同的字符序列为“回文”,如“abba”、“abccba”、12321、123321是“回文”。
然后再看程序,把长度为n的字符串的每一个字符排下标,即从0到n-1,要判断是否回文,就是把一串字母进行前后比对,即下标0的字符和下标为n-1的字符,1与n-2,2与n-3。。。
for
(i
=
0;
i
<
len
/
2;
i++)
{
if
(str[i]
!=
str[len-1-i])
{
break;
{{{{这里是什么意思啊}}}}}}
//
这里是判断不符号回文的情况,只要两个字符不符合,那这整个字符串就不是,所以break跳出循环判断
}
}
if
(i
==
len
/
2)
{{{{我不懂这里是什么意思}}}}}}
//
长度为n的字符串最多只能比对len
/
2次,那么如果每对都符合,那就是回文啦
{
printf(“%s
shi
hui
wen.\n“,
str);
}
⑸ C语言中判断一个字符串是否为回文的问题
我觉得可以是先将这字符串拆分。。用一维数组a[i]来表示。分成前、后两部分。同时要知道总共的位数Z(即该数组数的个数),然后先将总共的位数整除以2,得到一个数X。建立循环。有if
a[i]=a[z-i]的语句。
其中,for
i=1
to
x即可。
由系统给出任意字符串我不太清楚,如果是自输入字符串就容易了。
我所讲的这些,是建立在Pascal语言上的,不知你能否适用。
⑹ 用C语言编写一个函数判断某一个字符是否是回文,用指针变量来写,要完整的程序。
#include<stdio.h>
void main()
{ char str[80],*p,*q;
int bSame=1;
scanf("%s",str);
p=q=str; while ( *q ) q++; q--;
while ( p<q )
{ if ( *p!=*q ) { bSame=0; break; } else { p++; q--; }
}
if ( bSame ) printf("'%s'是回文。\n",str); else printf("'%s'不是回文。\n",str);
}
⑺ c语言判断字符是不是回文程序编程用指针
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
voidIsSymmetrical(char*str){
char*begin,*end;
intflag,len=strlen(str);
for(begin=str,end=str+len-1,flag=1;begin<=end;begin++,end--){
if(*begin!=*end){
flag=0;
break;
}
}
if(flag)
printf("是回文! ");
else
printf("不是回文! ");
}
intmain(void)
{
charstr[100];
printf("请输入字符串:");
gets(str);
IsSymmetrical(str);
return0;
}
执行结果
输入:abcdcba
⑻ C语言怎么判断一个数是否是回文数
所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的,比如12321。
以下是判断一个数是否为回文数的代码: