當前位置:首頁 » 編程語言 » c語言求迴文數

c語言求迴文數

發布時間: 2025-01-03 08:47:44

c語言求迴文數

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
inti,len,flag,cnt=1,num,numrev,addnum;
charstr[20]={0},strRev[20]={0},hui[20]={0};
gets(str);//輸入數字以字元串方式接收
num=atoi(str);//轉為數字
strcpy(strRev,strrev(str));//將接收的字元串逆序
numrev=atoi(strRev);//轉換成逆序的數字
while(1)
{
addnum=num+numrev;//兩個數字相加
printf("STEP%d:%d+%d=%d ",cnt,num,numrev,addnum);//輸出
itoa(addnum,hui,10);//將相加後的數字轉為字元串
len=strlen(hui);//求長度
flag=0;//標識是否是迴文
for(i=0;i<len;i++)//判斷是否迴文
{
if(hui[i]!=hui[len-i-1])
{
flag=1;//如果不是迴文繼續
break;
}
}
if(!flag)//根據上面標識符判斷是否迴文
{
printf("%d%d ",cnt,addnum);//是戶
break;
}elseif(cnt++>=30)//判斷是否大於等於30次
{
printf("0 ");
break;
}
num=addnum;//將和作為下次運算的第一個數字
strcpy(strRev,strrev(itoa(num,str,10)));//根據第一個數逆序出第二個數
numrev=atoi(strRev);//字元串轉數字
}
}

㈡ C語言找迴文數

以下程序通過測試. 附圖. #include <stdio.h>bool e_palind(int Number)
{
int i,j=0,sum=Number;
while(sum)
{
i=sum%10;
j=j*10+i;
sum=sum/10;
}
if(j!=Number) return false;
return true;
}int main()
{
long int m ;
for(m = 11 ; m < 1000 ; m++)
{
if(e_palind(m)&&e_palind(m*m)&&e_palind(m*m*m))
{
printf("m=%4ld, m*m=%6ld, m*m*m=%8ld\n", m, m*m, m*m*m);
}
}
return 0;
}

㈢ 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 * 10 + t;
x = x /岩衡 10;
}
while (x > 0);
if (temp == n)
sum++;
}
printf("\n sum=%d\n", sum);
}

1000以內的迴文數
在自然數中,最小的迴文數是0,其次是1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77,88,99,101,111,121,131,141,151,161,171,181,191,202,212,222,232,242,252,262,272,282,292,303,313,323,333,343,353,363,373,383,393,404,414,424,434,444,454,464,474,484,494,505,515,525,535,545,555,565,575,585,595,606,616,626,636,646,656,666,676,686,696,707,717,727,737,747,757,767,777,787,797,808,818,828,838,848,858,868,878,888,898,909,919,929,939,949,959,969,979,989,999.

㈣ c語言如何求迴文數

1、首先打開vc6.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語言找出1~999中的所有迴文數

依照數學定義,可以得知1-999中的迴文數包括三類:

1 一位數。只有一位,每個都是迴文數。

2 兩位數。個位和十位相同的兩位數是迴文數,即形式為aa的兩位數,a值為1-9。

3 三位數。個位和百位相同的三位數都是迴文數,即形式為aba的三位數,a值為1-9,b值為0-9。


綜合以上規律,可以寫出以下程序:

#include<stdio.h>
intmain()
{
inti,j;

for(i=1;i<10;i++)
{
printf("%d,",i);//一位數
printf("%d%d,",i,i);//兩位數
for(j=0;j<10;j++)
printf("%d%d%d,",i,j,i);//三位數
printf(" ");//為方便閱讀結果,加一個換行。
}

return0;
}

該函數輸出為:

熱點內容
優酷怎麼給視頻加密 發布:2025-05-14 19:31:34 瀏覽:633
夢三國2副本腳本 發布:2025-05-14 19:29:58 瀏覽:859
phpxmlhttp 發布:2025-05-14 19:29:58 瀏覽:432
Pua腳本 發布:2025-05-14 19:24:56 瀏覽:448
蘋果像素低為什麼比安卓好 發布:2025-05-14 19:13:23 瀏覽:460
安卓機微信怎麼設置紅包提醒 發布:2025-05-14 19:00:15 瀏覽:271
androidsystem許可權設置 發布:2025-05-14 18:56:02 瀏覽:970
mq腳本 發布:2025-05-14 18:45:37 瀏覽:25
仙境傳說ro解壓失敗 發布:2025-05-14 18:45:01 瀏覽:868
betweenand的用法sql 發布:2025-05-14 18:39:25 瀏覽:250