c语言 编写一个函数,来判断一个数是否是回文数。(回文数就是像12321,正着读和倒着读都一样)

我写了一个程序 高手帮忙看一下 哪不对
#include "stdio.h"
void main()
{
int a,b[10],i,j,m,c,p,flag;
int judge(int b[10],int j);
printf("请输入一个数:");
scanf("%d",&a);
m=a;
for(j=1;;j++)
{
p=m/10;
m=p;
if(p==0)
break;
}
for(i=0;i<j;i++)
{
c=a%10;
b[i]=c;
a=a/10;
}
flag=judge(b,j);
if(flag)
printf("该数为回文数");
else
printf("该数不是回文数");
}
int judge(int b[10],int j)
{
int i,flag=0,n=0;
for(i=0;i<=j/2;i++)
{
if(b[i]!=b[j-i-1])
break;

}
if(i==j/2) flag=1;
else flag=0;
return(flag);
}
运行之后无论输什么都是一样的结果,我都晕死了,谢谢了各位

代码:

int IsEchoNum(int num){

int tmp=0;

for(int n=num;n;n/=10)

tmp=tmp*10+n%10;

return tmp==num;

}

int main(int argc,char*argv[]){

int num=12321;

printf("%d%d\n",num,IsEchoNum(num));

}

扩展资料:

system()—执行shell命令也就是向dos发送一条指令。

相关函数:fork,execve,waitpid,popen头文件:#include&lt;stdlib.h&gt;定义函数:int system(const char*string);

system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。

例如,用system("color 0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色7=白色8=灰色9=淡蓝色A=淡绿色B=淡浅绿色C=淡红色D=淡紫色E=淡黄色F=亮白色

参考资料:

百度百科——system()

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
你写的太复杂了,很容易错#include <stdio.h>
void main()
{
int t,s=0,n;
printf("输入数字:");
scanf("%d",&n);
t=n;
while(t)
s=s*10+t%10,t/=10;
if(s==n)printf("是\n");
else printf("不是\n");
}
思路是把一个数倒过来,如果还等于原数,就是本回答被网友采纳
第2个回答  2013-07-05
回文的思路用栈来做最简单,入栈=出栈下面写个指针的int fac(char *p)
{ char *q;
for(q=p;*q!='\0';q++) ;
for(q--;q>=p;p++,q--)
{if(*p!=*q) <br>return 0; <br>}return 1;}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网