这个是回文数用数组做出来的,有点看不懂,right=4,是什么意思,while里面也有点看不懂,求解,谢谢了
//用 12421 举例分析
#include<stdio.h>
int main(){
int num;
int arr[5];//定义数组
int i=0,left=0,right=4;//right=4就是剥离的数不能超过4个
scanf("%d",&num);
while(i<5){//i从0开始循环
/*
取余,依次剥离最后一位数并赋值给对应的数组元素,
1-->arr[0] 2-->arr[1] ......
*/
arr[i] =num % 10;
i++;
/*
取整,依次去掉最后一位数,
第一次后 1242 ,第二次后 124 ......
*/
num /= 10;
}
while(left < right){
if(arr[left] != arr[right]){//如果这边的字符串不等于右边的字符串
printf("不是回文数");
return 0;
}
//左边的少左边加一个字符,右边减一个字符
left++;
right--;
}
printf("是回文数");
return 0;
}
超过后就不对。