當前位置:首頁 » 編程語言 » 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;
}

該函數輸出為:

熱點內容
python生成器和迭代器的區別 發布:2025-01-05 13:56:57 瀏覽:450
穿越火線透視源碼 發布:2025-01-05 13:49:31 瀏覽:927
柯迪亞克智能配置如何 發布:2025-01-05 13:36:03 瀏覽:403
伺服器資料庫類型 發布:2025-01-05 12:59:32 瀏覽:417
編譯原理移植 發布:2025-01-05 12:49:16 瀏覽:319
android開屏 發布:2025-01-05 12:43:54 瀏覽:290
win7用戶文件夾 發布:2025-01-05 12:42:30 瀏覽:622
java培訓班南京 發布:2025-01-05 12:29:36 瀏覽:733
Idea自動編譯是什麼 發布:2025-01-05 12:28:02 瀏覽:528
考試筆試編程 發布:2025-01-05 12:15:45 瀏覽:157