中易网

求回文数的编程求解

答案:1  悬赏:70  
解决时间 2021-04-28 04:53
  • 提问者网友:绿海猖狂
  • 2021-04-27 05:02
求一个计算回文数的C程序, 可以计算给定数字以内的回文数... 感谢
最佳答案
  • 二级知识专家网友:不服输的倔强
  • 2021-04-27 06:41
//提供你我编写的程序, 如下 #include #include #include #include #include #include void input(int *); //输入函数 void checkx(int); bool huiwen(int); int sits(int,int); int lens(int); int main(void) { int n=0; char exit1=' '; while(exit1!='E'&& exit1!='e'){ printf("求整数N ,满足N,N*N,N*N*N 全是回文数\n"); input(&n); checkx(n); printf("制作 RealZYC 感谢老师 :-)\n"); //哈哈 printf("Exit=e Continue=Press any key\n"); cin>>exit1; printf("\n\n"); } return(0); } void input(int *n){ do{ printf("输入上界n:"); fflush(stdin); scanf("%d",n); fflush(stdin); }while(*n<=0); } void checkx(int n){ for(int i=0;i<=n;i++){ if(huiwen(i) && huiwen(i*i) && huiwen(i*i*i)){ printf("%d %d %d\n",i,i*i,i*i*i); } } } bool huiwen(int m){ int len1=lens(m); for(int i=1;i<=len1/2;i++){ if(sits(m,i)!=sits(m,len1-i+1))return false; } return true; } int sits(int n,int m){ int e=1,qun=0; for(int i=1;i<=m;i++)e*=10; qun=n/e; n=n*10/e; return(n-qun*10); } int lens(int m){ int log10=1; for(int i=1;;i++){ log10*=10; if(m/log10==0)return(i); } } //希望对你有帮助
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息