这个是回文数用数组做出来的,有点看不懂,right=4,是什么意思,while里面也有点看不懂,求解,谢谢了
2条回答 默认 最新
- 云云豆酱 2022-11-07 21:06关注
//用 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; }
超过后就不对。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报