当前位置: 首页 > news >正文

实验八 题目描述 从键盘上输入任意一个整数(正负数皆可),判断该整数的绝对值是否为回文数。

实验八

题目描述

从键盘上输入任意一个整数(正负数皆可),判断该整数的绝对值是否为回文数。[提示:取数的绝对值,然后使用用循环语句从该绝对值的末位开始至最高位,重新构造一个数,判断该数与原绝对值是否相等。]

方法1 数字法

对于一个数逐个取出个位数,在下次循环时一次乘10实现向左移动一位,然后当变量为0结束时。

举个例子:

input: a = 323
variable: n = 323  y = 0
loop(0):  t = n % 10 = 3y = y * 10 = 0y = y + t = 3n = n / 10 = 32
loop(1):  t = n % 10 = 2y = y * 10 = 30y = y + t = 32n = n / 10 = 3
loop(2):  t = n % 10 = 3y = y * 10 = 320y = y + t = 323n = 0end

核心代码

while(n!=0)
{t = n % 10;y = y * 10;y = y + t;n = n/ 10;
}

推荐简便一点:

while( n!=0 ){y = y * 10 + n % 10;n = n / 10;}

完整代码:

#include <stdio.h>int main()
{int a,x,y,n;printf("输入一个整数:");scanf("%d",&a);x = a>=0 ? a : -a;n = x;y = 0;while( n!=0 ){y = y * 10 + n % 10;n = n / 10;}if( x == y )printf ("%d的绝对值是回文数!\n",a);elseprintf ("%d的绝对值不是回文数!\n",a);return 0;
}

方法2 字符串法

首尾相互判断两元素是否相等,当元素相等时继续循环,不相等时退出循环

// 核心代码while (i <= len/2) // 只需要判断到一半位置{if ( str[i] == str[len-1-i] )     //数组最后一个元素的下标是 len-1i++;else{printf ("输入数的绝对值不是回文数.\n");return 0; // 直接结束循环}}

完整代码:

#include<stdio.h>
#include<math.h>
#include<string.h>int main ()
{int x, y, len, i;char str[100];printf ("请输入一个整数:\n");scanf ("%d", &x);y = abs(x);sprintf(str, "%d", y);len = strlen(str);i = 0;while (i <= len/2){if ( str[i] == str[len-1-i] )     //数组最后一个元素的下标是 len-1i++;else{printf ("输入数的绝对值不是回文数.\n");return 0;}}printf ("输入数的绝对值是回文数.\n");return 0;
}
http://www.lryc.cn/news/416597.html

相关文章:

  • IsaacLab | Workflow 中 rsl_rl 的 play.py 脚本精读
  • PYTHON专题-(8)我错了该怎么整?
  • 【自然资源】设施农业用地的学习梳理
  • 【秋招笔试】24-07-27-OPPO-秋招笔试题(后端卷)
  • JS 补充内容
  • H5+JS 4096小游戏
  • 常见中间件漏洞(二、WebLogin合集)
  • LeetCode LCR147.最小栈
  • 目标检测的算法有哪些
  • HDU多校-交通管控
  • 【C++】string类
  • Python中各类常用内置转换函数
  • LangChain与JWT:构建安全认证的桥梁
  • ai写作软件哪个好用?怎么帮自己找到好用的ai写作软件?
  • 关于gunicorn+flask+docker模型的高并发部署
  • 35. 搜索插入位置
  • ViT论文详解
  • 常见中间件漏洞(三、Jboss合集)
  • ios如何动态添加控件及动画
  • 【数学建模】——【A题 信用风险识别问题】全面解析
  • javascript:检测图片的宽高
  • 机械学习—零基础学习日志(高数23——无穷小运算)
  • 一个网络上计算机的通信
  • C语言基础题:吃冰棍(C语言版)
  • C++中,vector、deque、list、set、multiset、unordered_set和unordered_multiset容器类的总结
  • Python处理Redis
  • nodejs多版本随心切换-windows
  • json文件格式
  • 日撸Java三百行(day15:栈的应用之括号匹配)
  • Oracle-OracleConnector