2 yancola yancola 于 2016.03.09 12:49 提问

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

如:输入 输出
123 321
abc cba

4个回答

xianfajushi
xianfajushi   2016.03.09 16:08
已采纳
    这个最快:头位=0, 尾位=数据.length-1
            static void 翻筋斗云(int[] 数据, int 头位, int 尾位=数据)
    {
        while (头位 < 尾位)
        { 
            int 交换 = 数据[头位];
            数据[头位++] = 数据[尾位];
            数据[尾位--] = 交换;
        }
    }   
ISEUWEI
ISEUWEI   2016.03.09 15:10

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

xzq1007918606xzq
xzq1007918606xzq   2016.03.09 13: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_ToStr   Rxr 2016.03.10 15: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; }

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!