❶ 回文数 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(strcmp(ans,str)==0) return false;//找到了,返回。
//printf("%s %s\n",str,ans);
//高精运算
e=0;
for(j=0;j<i;j++)
{
d=str[j]-'0'+ans[j]-'0'+e;
e=d/n;
str[j]=d%n+'0';
}
if(e!=0) {str[j]=e+'巧辩裂0';j++;str[j]='\0';}
return true;
}
int main()
{
int step;
char ans[100];
char m[100];//只能用高精度算
int n;
while(scanf("%d%s",&n,&m)!=EOF)
{
step=0;
strcpy(ans,m);
while(f(ans,n))
{
step++;
if(step>30) break;
}
if(step>30) printf("impossible\n");
else printf("STEP=%d\灶孝n",step);
}
return 0;
}
❷ C语言回文数
#include<stdio.h>
main()
{intn,i,j,k,l,m,sum,a[100],b[100];
while(1){
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++){
m=a[i];k=0;l=0;sum=0;
b[0]=m%10;sum=b[0];
while(m){
m/=10;
k++;
b[k]=m%10;
sum+=b[k];
}
for(j=0;j<k/2;j++)
if(b[k-j-1]==b[j])l++;
if(l>=k/2)printf("%d
",sum);
elseprintf("NO
");
}
printf("
");
}
}
如图所示,望采纳。。。。。。
❸ c语言求回文数
任取一个十进制整数,用下面的方法可以求出一个回文数:
把这个数字的各个位,颠倒前后位置,形成一个新数,再和原数相加,得到的和,就可能是一个回文数。
如果不是回文数,就再重复上述的步骤,则最终可得到回文数。
❹ C语言编写程序判断回文数
要判断一个数n是否回文数,可以利用一个简单的循环就可以解决问题的。先保存好n的一个副本n1,初始化一个变量n2=0,然后每次取n1的末位数后添加到n2的末位,并把原n1的末位去掉。如此循环,当n1为0时循环结束,此时再判断,若n2==n,则n就是一个“回文数”了。
#include<stdio.h>
int main()
{ int n,n1,n2;
scanf("%d",&n);
n1=n;
for(n2=0;n1;n1/=10)
n2=n2*10+n1%10;
printf("%s\n",n2==n?"Yes":"No");
return 0;
}
❺ c语言程序设计编求回文数的函数
程序如下:
#include"stdio.h"
intmain()
{
intu,m;
intsum=0;
printf("请输入要判断的数u=");
scanf("%d",&u);
m=u;
while(m)
{
sum=sum*10+m%10;
m=m/10;
}
if(sum==u)
printf("u是回文数");
else
printf("u不是回文数");
printf(" ");
return0;
}
程序运行结果:
假设输入一回文数12321
❻ 用c语言写回文数,怎么写啊/急求!!
/编写一个回文数的程序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++坏境下写的,代码还美调试,自己运行一下看看。
❼ C语言编程回文数
main()
{
int x,n,i,j,a[20],c;
long sum;
scanf("%d",&n);
for (x=1;x<=n;x++)
{ sum=x*x;
for(i=1;i<20;i++)
a[i]=0;
for (i=1;i<20;i++)
{a[i]=sum%10;
sum=sum/10;
if (sum==0) break;
}
if (i%2==0) {c=0; for (j=1;j<=i/2;j++) {if(a[j]!=a[i+1-j]) c=1;}
if (c==0){printf("%d %d\n",x,x*x);}}
else {c=0; for (j=1;j<=(i-1)/2;j++) {if (a[j]!=a[i+1-j]) c=1;}
if (c==0){printf("%d %d\n",x,x*x);}}
}
}
❽ 用C语言编写程序,判断一个数是否为回文数。
#include<stdio.h>
intseparate(int*data,intn)
{
inti=0;
while(n>0)
{
data[i++]=n%10;
n/=10;
}
returni;
}
intjudge(int*data,intlen)
{
inti,j;
for(i=0,j=len-1;i<j&&data[i]==data[j];i++,j--);
if(i>=j)
return1;
else
return0;
}
intmain()
{
intn,len,r;
intdata[20];
scanf("%d",&n);
len=separate(data,n);
r=judge(data,len);
if(r==1)
printf("%d是回文数 ");
else
printf("%d不是回文数 ");
}
❾ C语言 回文数设计
c语言判断回文数方法:生成逆向数,判断与原数是否相同,相同则是,不同则不是。
参考代码:
#include<stdio.h>
voidmain()
{
int橡慧x=1,y,t;
梁伏答printf("inputn:");scanf("%d",&x);//输入数据
y=0;
t=x;//保存下原数
do{
y=y*10+t%10;
t/=10;
}while(t);//原数逆序
if(y==x)
printf("yes! ");
else
厅丛printf("no! ");
}
❿ 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;
printf("所有回文数:\n");
for(i=9999; i>=100; i--) {
memset(str, 0, 5);
sprintf(str, "%d", i);
if(huiwen(str) == 0) {
printf("%d\n", i); /* 这里把所有回文数打印出来 */
if(i % 6 == 0) {
hw6[cnt++] = i; /* 记录下被6整除的回文数 */
if(max == 0)
max = i; /* 最大被6整除的回文数,只会被执行一次 */
}
}
}
printf("能被6整除的回文数:\n");
for(i=0; i<cnt; i++) {
printf("%d\n", hw6[i]);
}
printf("最大回文数: %d\n",max);
}