m0_73972131 2022-11-06 15:09 采纳率: 50%
浏览 88
已结题

C语言构造回文数 有偿 求指导

img

img


c语言 构造回文数,求个来教教这个代码,完全没思路.求指导一下.

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-11-06 15:17
    关注

    这是一个题吧?就是将整数倒置,然后相加,判断是否回文,不是再倒置呗。10次还不是回文就报错

    #include <stdio.h>
    #include <string.h>
    void r(char *a,int n,char *b)
    {
        for(int i=0;i<n;i++)
            b[n-i-1] = a[i];
    }
    
    void add(char *a,int n,char *b)
    {
        int m = 0,a0,b0,c,j;
        for(int i=n-1;i>=0;i--)
        {
            a0 = a[i] - '0';
            b0 = b[i] - '0';
            c = a0+b0;
            a[i] = c%10 + '0';
            if(c/10 > 0)
            {
                if(i==0)
                {
                    m=1;
                    break;
                }
                for(j=i-1;j>=0;j--)
                {
                    if(a[j] == '9')
                    {
                        a[j] = '0';
                        if(j==0)
                        {
                            m=1;
                            break;
                        }
                    }
                    else
                    {
                        a[j] += 1;
                        break;
                    }
                }
            }
        }
        if(m==1)
        {
            for(j=n;j>0;j--)
                a[j] = a[j-1];
            a[0] = '1';
        }
    }
    
    int main()
    {
        char a[1002]={0}, b[1002] = {0};
        int i;
        gets(a);
        for(i=0;i<10;i++)
        {
            int len = strlen(a);
            r(a,len,b);
            if(strcmp(a,b) == 0)
                break;
            printf("%s + %s = ",a,b);
            add(a,len,b);
            printf("%s\n",a);
        }
        if(i==10)
            printf("Not Found in 10 iteration.");
        else
            printf("%s is a palindromic number.",a);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月14日
  • 已采纳回答 11月6日
  • 创建了问题 11月6日

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)