yancola
严珂
采纳率44.4%
2016-03-09 04:49 阅读 2.0k
已采纳

怎样设计程序将一个int数字或一组字符倒序输出,分别用java和C语言实现

2

如:输入 输出
123 321
abc cba

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    xianfajushi 智者知已应修善业 2016-03-09 08:08
        这个最快:头位=0, 尾位=数据.length-1
                static void 翻筋斗云(int[] 数据, int 头位, int 尾位=数据)
        {
            while (头位 < 尾位)
            { 
                int 交换 = 数据[头位];
                数据[头位++] = 数据[尾位];
                数据[尾位--] = 交换;
            }
        }   
    
    点赞 1 评论 复制链接分享
  • ISEUWEI Iseuwei 2016-03-09 07:10

    这个我刚好写过哎,int就用n=n+t%10;t/=10;循环一下就好了,字符串嘛,首先你要理解指针,做一个首指针和尾指针,然后将收尾对调,直到指针相遇,详细我就不写了,手机打字艰难,你要是想了解,可以加我扣扣2836084073图片说明

    点赞 1 评论 复制链接分享
  • xzq1007918606xzq 爪哇的雨 2016-03-09 05:33

    这个是Java写的,如果要传入字符串的话,把参数该一下就可以了。
    public void reverse(int n)
    {
    String s = n+"";
    //转换成字符数组,倒序输出即可
    char[] arr = s.toCharArray();
    for(int i=arr.length-1;i>=0;i--){
    System.out.print(arr[i]);
    }
    }

    点赞 评论 复制链接分享
  • John_ToStr John_ToDebug 2016-03-10 07:06

    C/C++ code
      #include int main() { unsigned int n = 0xFF008881; unsigned int tmp; unsigned int maskl = 0x1; unsigned int maskh = 0x80000000; unsigned int rst = 0; int i,j; printf("n = %x\n",n); for(i = 0; i <= 15; i++) { tmp = n & maskl; maskl = maskl $amp;amp;$gt; 1; for(j = i + 1; j <= 31 - i; j++) { tmp = tmp $amp;>amp;$gt; 1; } rst = tmp | rst; } printf("%x\n",rst); return 0; }

    点赞 评论 复制链接分享

相关推荐