描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入
输入共 1 行,一个整数N。
-1,000,000,000 ≤ N≤ 1,000,000,000。
输出
输出共 1 行,一个整数,表示反转后的新数。
c语言 数字反转
答案:2 悬赏:70 手机版
解决时间 2021-01-29 15:14
- 提问者网友:留有余香
- 2021-01-28 14:57
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-01-28 15:14
#include
int main()
{
int a, na = 0, flag;
scanf ("%d", &a);
if (a<0){
flag = -1;
a = -a;
}
else {
flag = 1;
}
while (a){
na = na*10+a%10;
a /= 10;
}
na *= flag;
printf ("%d\n", na);
return 0;
}
int main()
{
int a, na = 0, flag;
scanf ("%d", &a);
if (a<0){
flag = -1;
a = -a;
}
else {
flag = 1;
}
while (a){
na = na*10+a%10;
a /= 10;
}
na *= flag;
printf ("%d\n", na);
return 0;
}
全部回答
- 1楼网友:轻雾山林
- 2021-01-28 16:06
c语言的问题字符串反转可以使用下列两种方法:
使用array.reverse方法
对于字符串反转,我们可以使用.net类库自带的array.reverse方法
public static string reversebyarray(string original)
{
char[] c = original.tochararray();
array.reverse(c);
return new string(c);
}
可以使用栈后进先出的特性来对数组进行反转。先将数组所有元素压入栈,然后再取出,顺序很自然地就与原先相反了。
public static string reversebystack(this string original)
{
stack stack = new stack();
foreach (char ch in original)
{
stack.push(ch);
}
char[] c = new char[original.length];
for (int i = 0; i < original.length; i++)
{
c[i] = stack.pop();
}
return new string(c);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯