问题描述
- 怎样设计程序将一个int数字或一组字符倒序输出,分别用java和C语言实现
-
如:输入 输出
123 321
abc cba
解决方案
这个最快:头位=0, 尾位=数据.length-1
static void 翻筋斗云(int[] 数据, int 头位, int 尾位=数据)
{
while (头位 < 尾位)
{
int 交换 = 数据[头位];
数据[头位++] = 数据[尾位];
数据[尾位--] = 交换;
}
}
解决方案二:
这个我刚好写过哎,int就用n=n+t%10;t/=10;循环一下就好了,字符串嘛,首先你要理解指针,做一个首指针和尾指针,然后将收尾对调,直到指针相遇,详细我就不写了,手机打字艰难,你要是想了解,可以加我扣扣2836084073
解决方案三:
这个是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]);
}
}
解决方案四:
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 = %xn",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("%xn",rst); return 0; }