当前位置:首页 » 编程语言 » c语言找出回文数

c语言找出回文数

发布时间: 2025-01-16 16:46:26

c语言如何求回文数

1、首先打开vc6.0,新建一个控制台项目。

⑵ 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语言求回文数

#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语言找出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;
}

该函数输出为:

⑸ 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语言确定回文数

这很正常。return 0指的是函数的返回值,比如说flag = judge(a,len);这句,在judge(a,len)中如果都是return 0,那么flag=0,就是说judge(a,len)在被调用完后会返回一个值给flag,所以在下面的判断中,if(flag==1)
printf("%d是回文数\n",num);
else
printf("%d不是回文数\n",num);
因为flag==0,所以当然会输出不是回文数了

热点内容
心形编程 发布:2025-01-29 12:49:05 浏览:316
汽车的内部配置包括哪些内容 发布:2025-01-29 12:45:53 浏览:196
3dm怎么下安卓游戏 发布:2025-01-29 12:43:30 浏览:673
iphoneb站清理缓存 发布:2025-01-29 12:38:26 浏览:900
舞蹈上传网 发布:2025-01-29 12:33:13 浏览:589
压缩包打小包 发布:2025-01-29 12:32:36 浏览:501
sql左连接和右连接 发布:2025-01-29 12:32:01 浏览:183
土的压缩固结 发布:2025-01-29 12:02:45 浏览:779
linuxtomcat文件夹 发布:2025-01-29 11:58:26 浏览:209
图的存储容易出现的错误 发布:2025-01-29 11:41:15 浏览:248