qq_37077232 2022-11-07 20:14 采纳率: 96%
浏览 40
已结题

回文数怎么用数组来做

img

这个是回文数用数组做出来的,有点看不懂,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;
    } 
    

    img

    超过后就不对。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 创建了问题 11月7日