用C语言判断一个数是不是是回文数(不用循环语句)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言判断一个数是不是是回文数(不用循环语句)相关的知识,希望对你有一定的参考价值。
用C语言判断一个数是否为回文数,但是不用任何循环语句,纯粹用选择结构,怎么写?
#include <stdio.h>
#include <string.h>
int fun(char *s, int i, int len)
if (len / 2 == i)return 1;
if (*(s + i) == *(s + len - i - 1))
return fun(s, i + 1, len);
return 0;
int main()
char s[255];
scanf("%s", s);
int len = strlen(s);
if (len <= 1)
printf("输入字符串过短!");
else if(fun(s, 0, len))
printf("是回文");
else
printf("不是回文");
scanf("%s", s);
return 0;
我用递归实现了
谢谢
参考技术A 可以用栈和队列来判断如果出栈顺序和队列顺序一样就是回文 参考技术B 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include
#include
#defineMAX100
intreverse(chara[])
intn=strlen(a);
inti;
for(i=0;i
if(a[i]!=a[n-i-1])
return0;
if(i==n-i-1)
return1;
intmain()
chara[MAX];
while(scanf("%s",a)!=EOF)
if(reverse(a))
printf("YES\n");
else
printf("NO\n");
return0;
//测试平台自己测去追问
还是用了while和for循环语句,我想问不用循环语句怎么写,有循环的我会写
编程找出所有三位回文素数 用c语言
编程找出所有三位回文素数 用c语言 请尽快
如果是三位的话,比较好办,就是ABA的形式,首先A不能是偶数,所以可以有循环:for (int a=1;a<10;a=a+2) for (int b=0;b<10;b++) int num=a*100+b*10+a; if (num是素数) 打印num;//判断是素数的代码你应该知道吧 参考技术A #include <stdlib.h>#include <stdio.h>
#include <math.h>
//判断该数字是否为回文数
int IsReverse(int iNum)
int iTmp = iNum;
int iTarget(0);
while(iTmp )
iTarget = iTarget *10 +iTmp%10;
iTmp = iTmp/10;
iTmp = iNum;
return (iTmp == iTarget);
// 判断该数是否为素数
int IsShu( int iNum)
int iTmp = (int) sqrt(iNum);
for (int i = 2;i<iTmp;i++)
if((iNum %i) == 0)
return 1;
return 0;
int main(int argc ,char ** argv)
int i(100);
for (;i<= 999;i++)
if( IsReverse(i)&&IsShu(i))
printf("%d\n",i);
return 0;
参考技术B 楼主能解释下什么是回文素数吗?
以上是关于用C语言判断一个数是不是是回文数(不用循环语句)的主要内容,如果未能解决你的问题,请参考以下文章