地下城堡圣物密室:用C语言编写一个函数,调用此函数可实现将一个数字颠倒过来

来源:百度文库 编辑:中科新闻网 时间:2024/03/29 19:49:11
对任意给出的数字都要适用,请给出具体程序!谢谢各位
怎么答案是随机值?

    颠倒数字符合先进后出的顺序,可以借助栈来执行。首先分解这个数字,将每一位存到栈中,然后在将栈中的数字逐个出栈,组合在一起即可。代码如下:

int reverse(int num)
{
int stack[100];
int top = 0;
int result = 0;

while (num != 0)
{
stack[top++] = num % 10;
num /= 10;
}

while (top != 0)
{
result *= 10;
result += stack[--top];
}

return result;
}

#include <stdio.h>
main( )
{
int a,b,c,d,sum;
printf ("enter a num :");
scanf ("%d",&a);
while (a>0)
{
b=a%10;
printf ("%d",b);
a=a/10;

}
}

# include<stdio.h>
main()
{
long a;
int k=0,i=0,b;
printf("enter a number:");
scanf("%d",&a);
b=a;
while (b/10 >= 1)
{ k=k+1;
b=b/10;
}k=k+1;
for (i=0;i<k;i++)
{
printf("%d",a%10);
a=a/10;
}
}

注意a不能超过9位数字。

可以这样:

int fn(int a)
{
int result = 0;

do
{
result = result * 10 + a % 10;
a = a / 10;
}
while (a != 0);
return result;
}

aaaaaaaaaaaaa
sad wfaf asdf
fas f
afasefwaer
fatrw4t seftkj;lkgsdr gklsdj'pt p gl;sk lgse
lk;dsjlkt jo
kgsljkjopkdgs;lgdsrg'krseglogkslrfjiuuwqm
kajklf jsalfjioa jklsajfoijsklajkl jaweijf