当前位置:首页 » 编程语言 » 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