c语言编求回文数的函数 c语言回文数编写函数
C语言编回文数
#include stdio.h
创新互联公司是一家专业提供五家渠企业网站建设,专注与成都做网站、网站设计、成都h5网站建设、小程序制作等业务。10年已为五家渠众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
#include stdlib.h
int huiwen(char *str) /* 回文子函数 */
{
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("所有回文数:\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; icnt; i++) {
printf("%d\n", hw6[i]);
}
printf("最大回文数: %d\n",max);
}
c语言求回文数
#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个
请按任意键继续. . .
C语言求回文数
#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;
}
c语言程序设计编求回文数的函数
#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++ ) /*从低到高分解数a的每一位存于数组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、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”)。
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-回文数
文章名称:c语言编求回文数的函数 c语言回文数编写函数
文章位置:http://scjbc.cn/article/dojcjed.html