求c语言程序(2)编写函数,判断一个字符串是否是回文。若是回文函数返回值为1;否则函数返回值为0
int a,a1,a2,a3
scanf("%d",a);
a1=a%10;
a2=a/10%10;
a3=a/100%10
a4=a/1000
if(a1==a4&&a2==a3)
{
return 1;
}
else
{
return 2;
}
编写程序输入一个5位整数,判断他是不是回文数。用c语言
#include#definen5voidmain(){charnum[n+1];inti,j;printf("输入一个五位数")
;scanf("%s",num);for(i=0,j=n-1;i<=j;i++,j--){if(num[i]!=num[j])break;}if(i<=j)printf("不回文\n")
;elseprintf("回文\n");}
回文算式有什么规律
回文数是指从左看及从右看完全一样的数,如2002等。
在两位数与两位数的乘法中,算式12×42=24×21是一个回文算式。在两位数与三位数的乘法中,也有回文算式:
12×462=264×21,
42×132=231×24,
96×253=352×69,
93×286=682×39。
如果我们随意地去写,或许能凑出一些回文式,如93×143=341×39,86×374=473×68。如果要写出更多的回文式,就应该仔细地去观察已经知道的几个两位数与三位数相乘的回文式。
通过仔细观察上面的回文式,可以发现:
如果两位数十位上的数与三位数百位上的数相乘的积,正好等于两位数个位上的数与三位数个位上的数相乘的积,而且这个三位数十位上的数正好等于它的个位上的数与百位上的数的和(这个和不大于9),那么由这个两位数和三位数就可以写出一个回文算式。
用字母可表示为:若ab ,cde 分别为两位数,三位数,而且a×c=b×e,d=c+e,d≤9,则ab ×cde =edc ×ba 。
例如,由8×3=6×4,3+4=7可得:
86×374=473×68。
根据这一规律,联系两位数与两位数相乘的回文式,就可以得到以下17个两位数与三位数相乘的回文式。
12×42=24×21
12×462=264×21
132×42=24×231
12×63=36×21
12×693=396×21
132×63=36×231
13×62=26×31
13×682=286×31
143×62=26×341
12×84=48×21
132×84=48×231
14×82=28×41
154×82=28×451
13×93=39×31
143×93=39×341
23×64=46×32
253×64=46×352
24×63=36×42
24×693=396×42
264×63=36×462
24×84=48×42
264×84=48×462
23×96=69×32
253×96=69×352
26×93=39×62
286×93=39×682
34×86=68×43
374×86=68×473
36×84=48×63
396×84=48×693
46×96=69×64
还没有评论,来说两句吧...