用c语言写回文数,怎么写啊/?急求!!

作者&投稿:饶胆 (若有异议请与网页底部的电邮联系)
找出1~256中回文数的C语言程序怎么写?~

#include
#include
#include
int main()
{
int low;
int high;
long num;
int i;
char tmp[8];
int sts;
memset(tmp,0,sizeof(tmp));
for(i=1;i<=256;i++){
num = i*i;
sprintf(tmp,"%ld",num);
if(strlen(tmp) < 2){
continue;
}
sts = 0;
low = 0;
high = strlen(tmp)-1;
while(high>=low){
if(tmp[high]==tmp[low]){
low = low +1;
high = high -1;
}else{
sts = 1;
break;
}
}
if(sts == 0){
printf("the x = %3d,x*x=%6ld
",i,num);
}
}
return 0;
}

你的程序是在判断回文数吗?看了感觉好像什么都不是啊,程序过于啰嗦,且有许多画蛇添足的地方。你的算法错了,要改的话不是在你这个程序里去找错误,而是要完全推倒重做。下面的程序简洁易懂,效率也高,你不妨试试。
#include
int IsHuiWenShu(int data)
{
int s = 0, d = data;
while(d > 0) {
s = s * 10 + d % 10;
d /= 10;
}
return s == data;
}
int main( ) {
int a;
scanf("%d", &a);
if(IsHuiWenShu(a))
printf("Yes
");
else
printf("No
");
}

/编写一个回文数的程序c语言编程
#include <stdio.h>
void main()
{
int n, m=0, count=0;
printf("请输入一个数:\n");
scanf("%d", &n);
for(n=1; n<=10000; n++)
{
while(n>0)
{
m=m*10+n%10;
n=n/10;
}
if(m==n)
{
count++;
printf("%3d", n);
}
if(count%5==0)
printf("\n");
}

}
我写的是找出1到10000的回文数,不过是在没有vc++坏境下写的,代码还美调试,自己运行一下看看。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void huiwen(int y)
{
int i,k,j,a[6];
i=0;
do
{
a[i]=y%10;
y=y/10;
i++;
}
for(k=0,j=i-1; j>=k; k++,j--)
{
if(a[k]!=a[j])
{
printf("No\n") ;
return;
}
}

printf("Yes\n");
}
int main()
{
int n;
scanf("%d",&n);
while(n)
huiwen(n);
return 0;
}

#include<stdio.h>
int main()
{
int n,m,t;
while(scanf("%d",&n),n)
{
t=n;
m=0;
while(t)
{
m=m*10+t%10;
t/=10;
}
if(m==n)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
return 0;
}

呵呵


用C语言编程找出回文数,要求定义个函数,在指定范围内找出回文数,统计个...
include <stdio.h> int isPalin(int n){ char a[20],i=0,j;while(n > 0){ a[i] = n % 10;n = n \/ 10;i++;} i--;for(j=0;j<(i+1)\/2;j++)if(a[j] != a[i-j])return 0;return 1;} void main() { unsigned int i,m,n;printf("请输入m和n的值:\\n");...

C语言问题 【函数与过程】回文素数
【题目】:题目:如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如6886就是一个回文数,从给出的数据中统计出既是回文数又是素数的数(<109)。【思路分析】:首先,你输入的是整数(x),计算机不能像人脑一样直接得到每个数位(数组a[10])。所以,要先判断数位(n),然后只要数位...

C语言中,什么是回文数?
回文数"回文数"是一种数字.如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字 就是回文数.任意某一个数通过以下方式相加也可得到 如:29+92=121 还有 194+491=586,586+685=1271,1271+1721=2992 不过很多数还没有发现此类特征(比如196,下面会讲到)另外个别平方数是...

c语言,输出所有的四位回文数,如1221'等
下面给出一个使用C语言实现输出所有的四位回文数的示例代码:```c include <stdio.h> int main() { int i, j, n;for (i = 1; i <= 9; i++) { for (j = 0; j <= 9; j++) { n = i * 1000 + j * 100 + j * 10 + i;printf("%d ", n);} } return 0;} `...

123321是一个回文,输入一个正整数n,编程求所有这样的五位和六位十进制...
你的求回文数的C语言程序,我帮你改完了,你看看吧(改动的地方见注释)include<stdio.h>int main(void){ int q,w,e,r,t,y,u,n,i,a,c,g,count; scanf("%d",&n);\/\/这里%s改成%d for(i=10000;i<=999999;i++){ count=0; g=i; do{ g=g\/10; count++; }while(g...

C语言 在1~n个整数求回文数 个数
include <stdio.h> int main(void){ int n, x, temp, t, sum = 0, i;scanf("%d", &i);\/\/for(n=1;n<i;n++)for (n = 0;n <= i;n++) \/\/因为0也是回文数..所以应该从零开始, n<=i,包括自己之内的回文数 { temp = 0;x = n;do { t = x % 10;temp = temp ...

C语言回文算法
我前几天刚好做过类似题,这里才3位数比较简单,已经调试并运行过了,绝对准确!main(){ int n,i,a[5];for(i=10;i<=200;i++)\/*回文数至少为两位数,即大于9*\/ { if(i\/100>=1)\/*三位数得情况*\/ { a[0]=i\/100;\/*百位数*\/ a[1]=i%100\/10;a[2]=i%10;if(a[0]==a[2]...

输入一个5位数 判断它是不是回文数 C语言编写
1. 2.5 输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同 注:主要考察两个知识点:1)整除与求余运算;2)if条件的嵌套使用 代码实现:include <stdio.h> void main(){ int x; \/\/带输入的数 int g,w,s,q; \/\/分别表示的是个位、万位、十位、...

C语言编写 判断任意整数X是否为回文数,需要按着提示思想编写,比较急...
include <stdio.h>void main(){int i=0,j,n,k=0,a[100];scanf("%d",&n);while(n){a[i]=n%10;n\/=10;i++;}for(j=0;j<=i\/2;j++)if(a[j]!=a[i-j-1]) k=1;k?printf("不是回文数"):printf("是回文数");} ...

求10到10000有哪些回文数?用C语言编写
include<stdio.h> define N 6 void main(){ int n,a,b,c,d;for(n=10;n<100;n++){ c=n\/10;d=n%10;if(c==d)printf("%d\\n",n);} for(n=100;n<1000;n++){ d=n%10;b=n\/100;if(d==b)printf("%d\\n",n);} for(n=1000;n<10000;n++){ d=n%10;c=(n\/10)%10...

余庆县18720003589: 用c语言编写1到100的回文数 -
任褚伊曲: //---------------------------------------------------------------------------#includeint main(int argc, char* argv[]) {int i,j,n;for (i=1; i<=2; i++)for (j=1; j<10; j++) {for (n=0; n putchar(48+j);putchar('\n');} return 0; } //-----------------------------------------------------...

余庆县18720003589: C语言编回文数 -
任褚伊曲: #include <stdio.h>#include <stdlib.h> int huiwen(char *str) /* 回文子函数 */ { int len=strlen(str); int i=0; for(i=0; i<len/2; i++) { if(*(str+i) != *(str+len-1-i)) return 1; } return 0; } int main() { int i=0; char str[5]; int hw6[10000] = {0}; int cnt=0; int max=0; ...

余庆县18720003589: 怎么用C语言求回文数
任褚伊曲: #include<stido.h> void main() { long ge,shi,qian,wan,x; prinft("\n 请输入一个五位数:"); scanf("%ld",&x); wan=x/10000; qian=x%100000/1000; shi = x%100/10; ge=x%10; if(ge==wan && shi==qian) printf("\n这是个回文数") else printf("\n这不是个回文数") } 这个是怎么求一个回文数 还有一个用堆栈做!! 那个你自己去找资料吧

余庆县18720003589: c语言求回文数 -
任褚伊曲: #include "stdio.h"int ispal(int n){ int m=0; int t=n; while(t) { m=m*10+t%10; t/=10; } return m==n;}void main(){ int i; int cnt=0; for(i=1;i<10000;i++) { if(ispal(i)) ...

余庆县18720003589: 请用c语言编写程序输出100~999之间的所有回文数. -
任褚伊曲: 对于三位数来说,只要百位和个位相同就是回文数,根据此思路,写程序如下: #include<stdio.h> int main() { for(int i=100;i<1000;i++) { if(i/100==i%10) printf("%d ",i); } } 希望接纳.^_^o~ 努力!

余庆县18720003589: 用c 编写五位数的回文数 -
任褚伊曲: main() {unsigned float i,n=0;long k=0,m;for(i=10000;i<100000;i++){ m=i;do{ n=n*10+m%10;m=m/10;}while(m);if(n==i){k++;printf("%.0f\t",i);if(k%10==0)printf("\n"); }n=0;}}

余庆县18720003589: C语言 关于判断回文数的程序 -
任褚伊曲: 所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的. 首先,来判断一下一个数是否为回文数: #include<;stdio.h> void main(){ int num,s,y=0; printf("Please input numbers:"); scanf("%d",&num); s=num; while(s>0){ y=y*10+...

余庆县18720003589: 回文数 C语言 -
任褚伊曲: //ok了..#include<stdio.h>#include<string.h>//判断是否是回文,处理相加,判断是不是还找不到.bool f(char str[],int n) { int i,j; char ans[100]; int e,d; for(i=0;str[i]!='\0';i++);//i为长度 for(j=0;j<i;j++) ans[j]=str[i-1-j];//逆序赋值给ans ans[j]='\0'; if(...

余庆县18720003589: c语言 回文数 -
任褚伊曲: #include int main() {char s[20];int i,a,h,x;while(gets(s)){h=0;a=strlen(s);x=a/2;for(i=0;i {if(s[i]==s[a-i-1])h++;}if(h==x)printf("Yes\n");elseprintf("No\n");}return 0; } 用字符数组做,这是我以前写的一个代码..实在没时间看你的啦,抱歉!貌似你左后一个函数错了.我没仔细看......

余庆县18720003589: 用c语言编写一个程序输出所有5位数字的回文,怎么做啊? -
任褚伊曲: #include <stdio.h> void main() { int i,j,n,m; for(n=10000;n<100000;n++) { m=n; j=0; while(m) { i=m%10; j=j*10+i; m=m/10; } if(j==n) printf("%d\t",n); } } 五位数的回文数一大堆.. 你自己运行输出看看. 我就不贴图了..

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