判断回文数

//前提该数是5位数
#include <stdio.h>
int main()
{
	int number;
	int wan, qian, shi, ge;
	
	scanf("%d", &number);
	
	wan = number / 10000;
	printf("wan=%d\n", wan);
	
	qian = number / 1000 % 10;
	printf("qian=%d\n", qian);

	shi = number % 100 / 10;
	printf("shi=%d\n", shi);
	
	ge = number % 10;
	printf("ge=%d\n", ge);
	
	if(wan==ge && qian==shi){
		printf("%d是回文数\n", number);
	}else{
		printf("%d不是回文数\n", number);
	}
	return 0;
	
}

学习到:

  1. 何为回文数
    关于中位对称
    eg:12321关于中位数3对称,12345654321关于中位数6对称
  2. scanf用法
  • scanf的机制:从缓冲区获得数据,(1若缓冲区有数据,则获得一个后,把数据总缓冲区中清除;2若缓冲区没有数据,则程序在scanf处停止,等待用户从键盘键入数据)
  • 空格字符:(space,回车,制表符)
  • scanf对各类型(整型,字符,字符串)的使用
    整型:1键入数据时,会忽略前面的空白字符;2默认分隔符是空白字符
    字符:1键入数据时,不会忽略前面的空表字符;2没有默认的分隔字符;3所有的字符,包括空白字符都会当成有效输入字符
    字符串:1键入数据时,会忽略前面的空白的字符;2默认分隔符是所有的空白字符;3c语言中没有字符串类型,使用字符数组表示字符串,因此所有的字符串都会在其后面自动加上结束标志符——'\0'
  1. '\0',以及'\0'算不算位数?
  • 1当字符数组表示字符串时,则自动加上'\0',且算上位数
    2当字符数组表示字符时,
    若数组大小与字符一致,则不加'\0'
    若数组大于字符数,则后面自动加上'\0',且算上位数
  1. 运算符优先级
    下标()——单目&——算术%——关系==——逻辑!=——三目(条件)——赋值=
  2. 逻辑与&&和逻辑或||的短路
    逻辑与&&
    形式:表达式1 && 表达式2
    运算顺序:先表1后表2
    运算逻辑:若表达式都为1,则整个表达式都为1
    短路(为0的时候):若表达式1为0,则不用再计算表达式2,整个式子的结果为0
    逻辑或||
    形式:表达式1 || 表达式2
    运算顺序:先表1后表2
    运算逻辑:若表达式有一个为1,则整个表达式都为1
    短路(为1的时候):若表达式1为1,则不用再计算表达式2,整个式子的结果为1
posted @   行至为成  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示