首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每日一道c语言编程题,第5题(经典题 判断回文数)

编写一个程序,输入一个字符串,判断它是否为回文字符串。

#include

#include

int main()

{

  char str[100];

  int i, j, flag = 1;

  printf("请输入一个字符串:");

  fgets(str, 100, stdin);  // 使用fgets函数输入字符串

  // 去掉输入字符串中的换行符

  if(str[strlen(str) - 1] == '\n')

  {

      str[strlen(str) - 1] = '\0';

  }

  for(i = 0, j = strlen(str) - 1; i < j; i++, j--)

  {

      if(str[i] != str[j])  // 判断是否为回文字符串

      {

          flag = 0;

          break;

      }

  }

  if(flag)

  {

      printf("%s是回文字符串\n", str);

  }

  else

  {

      printf("%s不是回文字符串\n", str);

  }

  return 0;

}

这个程序的功能是输入一个字符串,判断它是否为回文字符串,其主要思路如下:

定义一个字符数组str,用于存储输入的字符串。

使用fgets函数输入字符串,第一个参数是字符数组的地址,第二个参数是最大读入字符数,第三个参数是输入流,这里使用stdin表示标准输入流。

判断输入的字符串是否包含换行符\n,如果包含则将其替换为字符串结束符\0,这是因为fgets函数会自动读入换行符。

定义两个整型变量ij,分别表示字符串的头和尾,初始化为0和字符串长度减1。

使用循环判断字符串是否为回文字符串,即从头和尾依次比较对应位置的字符是否相同,如果不同则说明不是回文字符串,将标志flag置为0并跳出循环。

根据标志flag的值输出判断结果,如果为1则说明是回文字符串,否则不是回文字符串。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230307A0380S00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券