❶ 迴文數 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);
}