首页 > 其他分享 >判断回文数

判断回文数

时间:2022-11-06 11:44:43浏览次数:47  
标签:字符 判断 qian number ge printf 表达式 回文

//前提该数是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

标签:字符,判断,qian,number,ge,printf,表达式,回文
From: https://www.cnblogs.com/97rong/p/16862275.html

相关文章