#include stdio.h
創(chuàng)新互聯(lián)公司是一家專業(yè)提供五家渠企業(yè)網(wǎng)站建設,專注與成都做網(wǎng)站、網(wǎng)站設計、成都h5網(wǎng)站建設、小程序制作等業(yè)務。10年已為五家渠眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
#include stdlib.h
int huiwen(char *str) /* 回文子函數(shù) */
{
int len=strlen(str);
int i=0;
for(i=0; ilen/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("所有回文數(shù):\n");
for(i=9999; i=100; i--) {
memset(str, 0, 5);
sprintf(str, "%d", i);
if(huiwen(str) == 0) {
printf("%d\n", i); /* 這里把所有回文數(shù)打印出來 */
if(i % 6 == 0) {
hw6[cnt++] = i; /* 記錄下被6整除的回文數(shù) */
if(max == 0)
max = i; /* 最大被6整除的回文數(shù),只會被執(zhí)行一次 */
}
}
}
printf("能被6整除的回文數(shù):\n");
for(i=0; icnt; i++) {
printf("%d\n", hw6[i]);
}
printf("最大回文數(shù): %d\n",max);
}
#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;i10000;i++)
{
if(ispal(i))
{
cnt++;
printf("%d\n",i);
}
}
printf("合計:%d個\n",cnt);
}
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
1001
1111
1221
1331
1441
1551
1661
1771
1881
1991
2002
2112
2222
2332
2442
2552
2662
2772
2882
2992
3003
3113
3223
3333
3443
3553
3663
3773
3883
3993
4004
4114
4224
4334
4444
4554
4664
4774
4884
4994
5005
5115
5225
5335
5445
5555
5665
5775
5885
5995
6006
6116
6226
6336
6446
6556
6666
6776
6886
6996
7007
7117
7227
7337
7447
7557
7667
7777
7887
7997
8008
8118
8228
8338
8448
8558
8668
8778
8888
8998
9009
9119
9229
9339
9449
9559
9669
9779
9889
9999
合計:198個
請按任意鍵繼續(xù). . .
#includestdio.h
#includestring.h
#includestdlib.h
int?svalue(long);
void?main()
{
long?i,j,k;
for(i=11;i1000;i++)
{
j=i*i;
k=j*i;
if(svalue(i)svalue(j)svalue(k))
printf("%ld\t%ld\t%ld\n",i,j,k);
else
continue;
}
}
int?svalue(long?m)
{
int?a[9]?=?{0,0,0,0,0,0,0,0,0};??????//1000的立方為1000000000
int?i?=?0,j?=?0;
a[0]?=?m?/?100000000;
a[1]?=?m?%?100000000?/?10000000;
a[2]?=?m?%?10000000?/?1000000;
a[3]?=?m?%?1000000?/?100000;
a[4]?=?m?%?100000?/?10000;
a[5]?=?m?%?10000?/?1000;
a[6]?=?m?%?1000?/?100;
a[7]?=?m?%?100?/?10;
a[8]?=?m?%?10;
for(i=0;i9;i++)
{
if(0?==?a[i])
{
j++;
}
else?if(0?!=?a[i])
{
break;
}
}
for(i=j;i9;i++)
{
if(a[i]?!=?a[8+j-i])
{
return?0;
}
}
return?1;
}
#includestdio.h
int main(){
int m[16], n, i, t, count=0;
long unsigned a, k;
printf("No. ? ?number ? ? it's square(palindrome)\n");
for( n=1; n256; n++ ) ?/*窮舉n的取值范圍*/
{
k=0; t=1; a=n*n; ?/*計算n的平方*/
for( i=0; a!=0; i++ ) ?/*從低到高分解數(shù)a的每一位存于數(shù)組m[1]~m[16]*/
{
m[i] = a % 10;
a /= 10;
}
for(; i0; i--)
{
k += m[i-1] * t; ?/*t記錄某一位置對應的權值 */
t *= 10;}
if(k == n*n)printf("%2d%10d%10d\n", ++count, n, n*n);
}
return 0;
}
擴展資料:
C語言在編寫的時候需要說明的是:
1、一個C語言源程序可以由一個或多個源文件組成。
2、每個源文件可由一個或多個函數(shù)組成。
3、一個源程序不論由多少個文件組成,都有一個且只能有一個main函數(shù),即主函數(shù)。是整個程序的入口。
4、源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。
5、每一個說明,每一個語句都必須以分號結(jié)尾。但預處理命令,函數(shù)頭和花括號“}”之后不能加分號。(結(jié)構體、聯(lián)合體、枚舉型的聲明的“}”后要加“ ;”)。
6、標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
參考資料:
百度百科-回文數(shù)