扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
颠倒数字符合先进后出的顺序,可以借助栈来执行。首先分解这个数字,将每一位存到栈中,然后在将栈中的数字逐个出栈,组合在一起即可。代码如下:
创新互联建站主营爱民网站建设的网络公司,主营网站建设方案,app软件开发公司,爱民h5小程序定制开发搭建,爱民网站营销推广欢迎爱民等地区企业咨询
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
void main()
{
int a[10],i,n,j,k=0;
printf("请输入一个正整数: ");
scanf("%d",n);
for(i=0;i=9;i++)
{
j=n%10;
a[i]=j;
n=(n-(n%10))/10;
k=k+1;
if(n1) break;
}
printf("将该正整数倒序输出: ");
for(i=0;i=k-1;i++)
printf("%d",a[i]);
}
运行示例:
生成的可执行文件:
丫是新手吧,这段代码错不少呀
这贴个给你改好的
#include stdio.h
#include stdlib.h
void ex(int num[], int n);
int main()
{
int i;
int n;
int * num;
printf("输入个数\n");
scanf("%d", n);
num = (int*)malloc( sizeof(int) * n );
printf("\n输入数组\n");
for(i=0;in;i++)
{
scanf("%d",num[i]);
printf("数组为:%d\n",num[i]);
}
ex(num, n);
for(i=0;in;i++)
printf("现在数组为:%d\n",num[i]);
return 0;
}
void ex(int num[], int n)
{
int a=0,t;
while(an-1-a)
{
t=num[a];
num[a]=num[n-1-a];
num[n-1-a]=t;
a++;
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流