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

其他资讯