C语言:实验6-7 使用函数输出一个整数的逆序数.2021-07-15

这篇博客探讨了如何修复一个计算整数逆序数的函数存在的问题,特别是当输入为负数时的错误。错误的参考答案在处理负数余数时忽略了负号,而正确的解决方案需要在计算过程中正确处理负数。通过分析和修改代码,我们可以创建一个能正确处理正负整数逆序的函数。
摘要由CSDN通过智能技术生成

实验6-7 使用函数输出一个整数的逆序数 (20 分)

本题要求实现一个求整数的逆序数的简单函数。

函数接口定义:

int reverse( int number );

其中函数reverse须返回用户传入的整型number的逆序数。

裁判测试程序样例:

#include <stdio.h>

int reverse( int number );

int main()
{
    int n;

    scanf("%d", &n);
    printf("%d\n", reverse(n));

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

-12340

输出样例:

-4321

错误的参考答案 (存在BUG,和0有关)

目前题目官网页面尚未纠正检测错误的问题

int reverse( int number ){
    int result=0;

    while(number){
        int yu;

        yu=number%10;
        //负数的余数也是负数,不需要单独考虑负数情况

        result=result*10+yu;
        //接收新位,并将原有位进一位,
       
        number/=10;//在原数退掉已经完成移动的位数
        //传入while的number的数有几位就能进行几次循环
        
    }
    
    return result;
    
}

正确的参考答案,我还没写出来..........................

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mklpo147

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值