编程语言应用

首页 » 常识 » 常识 » c语言编程判断回文数
TUhjnbcbe - 2025/4/26 18:00:00
中医白癜风医院 http://www.xuexily.com/

可以通过字符串数组来判断回文数。

具体代码如下:

#includestring.h

#includestdio.h

voidmain()

{

  charstr[19];//定义字符数组str用存放输入的值。(最多判断18位,多了下标越界异常)。最后一个要存放结束符\0

  charfanstr[19];//定义字符数组fanstr用来存放翻转的值。

  longlonginta=0;//用一个变量a来存放输入的数据

  printf("请输入一串整数用来判断是否是回文\n");

  scanf("%lld",a);//longlongint是范围(19位)为了防止数值越界,我们前面定义数组只用18位

  sprintf(str,"%lld",a);//sprintf()/将a转为字符串输入到str中,printf()格式化输出的屏幕,sprint()是格式化输出到指定的地方。

  intn=strlen(str);//strlen用来统计字符串的长度,遇到"\0"结束。

//printf("%s",str);//(这一步用来调试的,可以看到str里已经有了刚刚输入的字符串。

  fanstr[n]=\0;//为fanstr在最后添加一个字符串结束符。

for(inti=0,j=n-1;in;i++,j--)

  {

    fanstr[j]=str;//开始反转赋值

  }

  //  printf("%s",fanstr);//这句话是打印看一下啊赋值结果对不对

  //开始对比原数组和反转后的数组是否一样。

  //这里可以用for循环来进行判断,也可以使用一个strstrcmp函数来进行判断。

  if(strcmp(fanstr,str)==0)

    printf("%s是回文",str);

  else

    printf("%s不是回文",str);

}

思路:使用两个数组,将整数转换成字符串,然后反着赋值给另一个数组,对比原数组和新数组是否一样。如果一样就是回文,反之不是。

打印回文数

回文数

“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数。

设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=,则称n为一回文数;但若n=,则n不是回文数。

10基数下,所有单个数字{0、1、2、3、4、5、6、7、8、9}都是回文数。

两位数的回文数有9个:

{11,22,33,44,55,66,77,88,99}.

1
查看完整版本: c语言编程判断回文数