各位有知道以下答案的朋友帮我解决一下,急用,小弟我先谢啦!

判断一个数是否为回文数(回文数就是像12321,正着读和倒着读都一样)要求:(1)定义一个函数separate(int*data,intn),该函数将n的各个位上的数分离... 判断一个数是否为回文数(回文数就是像12321,正着读和倒着读都一样)
要求:(1)定义一个函数separate(int * data,int n),该函数将n的各个位上的数分离保存在data所指向的数组中。
(2)定义一个函数judge(int * data,int len),判断data所指向的数组是否为回文。
(3)main函数中调用上述的函数,完成程序的功能。
展开
 我来答
畅景彰b5
2010-12-30 · TA获得超过4374个赞
知道小有建树答主
回答量:839
采纳率:0%
帮助的人:1274万
展开全部
这个是你要的程序,我在vc6通过调试运行了
#include<stdio.h>
void main()
{
void separate(int *data,int n);
int judge(int *data,int len);
int len,*data,n,i;
printf("输入一个n:");
scanf("%d",&n);
for(i=n,len=0;i!=0;i/=10,len++);
data=(int*)malloc(sizeof(int)*len);
separate(data,n);
if(judge(data,len))
printf("是回文数\n");
else
printf("不是回文数\n");
}
void separate(int *data,int n)
{
int i,j,x;
for(i=0;n!=0;i++)
{
*(data+i)=n%10;
n/=10;
}
for(j=0,i--;i>=0;j++,i--)
{
x=*(data+j);
*(data+j)=*(data+i);
*(data+i)=x;
}
}
int judge(int *data,int len)
{
int i;
for(i=0,len--;i<=len;i++,len--)
if(*(data+i)!=*(data+len))
return 0;
return 1;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式