A. c语言回文

回文??????

B. C语言回文算法

我前几天刚好做过类似题,这里才3位数比较简单,已经调试并运行过了,绝对准确!专

main()
{
int n,i,a[5];

for(i=10;i<=200;i++)/*回文数至少属为两位数,即大于9*/
{
if(i/100>=1)/*三位数得情况*/
{
a[0]=i/100;/*百位数*/
a[1]=i%100/10;
a[2]=i%10;
if(a[0]==a[2])printf("\n%d",i);
}
else /*两位数得情况*/
{
a[0]=i/10;
a[1]=i%10;
if(a[0]==a[1])printf("\n%d",i);
}
}
}

C. c语言如何求回文数

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

D. c语言回文判断

inthw(chara[])//数组法
{inti,j,flag;
for(j=0;a[j]!='';j++);//找到串尾符(a[j]=='')
flag=1;//flag初始化为1
for(i=0;i<j;i++,j--)//a[i]与a[j-1]未碰头时循环
if(a[i]!=a[j-1]){flag=0;break;}//如遇到字符不等,就不是“回文”,flag做标记
returnflag;//返回标记的结果
}

E. C语言“回文”程序代码

首先我对你的 "并且当输入的字符串第一个字符为#时,输入为空时,不输出。" 这句话比较费解, 不明白你的意思!

你把这说清楚了我再补充回答你~

我写了个参考代码给你参考, 首先是输入你要判断的字符串的个数, 然后再依次输入所有的字符串, 最后判断输入的所有字符串是否是"回文"! 因为不理解你那句话, 所以暂时没做什么空和什么"#"处理.

详细c代码:

#include <stdio.h>
#include <string.h>

#define STR_LEN 128
#define STR_NUM 64

int main()
{
int i = 0, j = 0, n = 0;
int len = 0;
char *start = NULL;
char *end = NULL;
char str[STR_NUM][STR_LEN] = {0};

printf("Please input the number of string: \n");
scanf("%d", &n);
printf("Please input all the string: \n");
for (i = 0; i < n; i++)
{
scanf("%s", str[i]);
}
for (j = 0; j < n; j++)
{
start = str[j];
len = strlen(str[j]);
end = str[j] + len - 1;

while (start - end <= 0)
{
if (*start++ != *end--)
{
break;
}
}
if (start > end)
{
printf("yes\n");
}
else
{
printf("no\n");
}
}

return 0;

}

例子,运行后:

Please input the number of string:
4
Please input all the string:
aba
112ds
madam
xyzyx
yes
no
yes
yes
Press any key to continue

补充回答:
大概明白你的意思,我会把例子贴上, 若不符合你的要求我再帮修改!

详细代码如下:

#include <stdio.h>
#include <string.h>

#define STR_LEN 128
#define STR_NUM 64

int main()
{
int i = 0;
int len = 0;
int str_count = 0;
char *start = NULL;
char *end = NULL;
char str[STR_NUM][STR_LEN] = {0};

printf("Please input all the string: \n");
while (1)
{
scanf("%s", str[str_count]);
if (str[str_count][0] == '#')
{
break;
}
else
{
str_count++;
continue;
}
}

for (i = 0; i < str_count; i++)
{
start = str[i];
len = strlen(str[i]);
end = str[i] + len - 1;

while (start - end <= 0)
{
if (*start++ != *end--)
{
break;
}
}
if (start > end)
{
printf("yes\n");
}
else
{
printf("no\n");
}
}

return 0;
}
运行实例1:
Please input all the string:
xyzyx
adghf
#
yes
no
Press any key to continue

运行实例2:
Please input all the string:
1232ss
sakljfkla
333dafs
aba
ee3
xyzyx
dfj222
madam
111$111
slsl33
#
no
no
no
yes
no
yes
no
yes
yes
no
Press any key to continue

F. 判断回文C语言

int isPalindrome(const char* str, char* pch);
这里的pch就是指向中心字符的。
所以 在代码中不要改变pch的值,输出的时候输出*pch就可以了。

G. C语言中,什么是回文数

回文数"回文数"是一种数字.如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字
就是回文数.
任意某一个数通过以下方式相加也可得到
如:29+92=121 还有 194+491=586,586+685=1271,1271+1721=2992
不过很多数还没有发现此类特征(比如196,下面会讲到)
另外个别平方数是回文数
1的平方=1
11的平方=121
111的平方=12321
1111的平方=1234321




依次类推
3×51=153
6×21=126
4307×62=267034
9×7×533=33579
上面这些算式,等号左边是两个(或三个)因数相乘,右边是它们的乘积。如果把每个算式中的“×”和“=”去掉,那么,它们都变成回文数,所以,我们不妨把这些算式叫做“回文算式”。还有一些回文算式,等号两边各有两个因数。请看:
12×42=24×21
34×86=68×43
102×402=204×201
1012×4202=2024×2101
不知你是否注意到,如果分别把上面的回文算式等号两边的因数交换位置,得到的仍是一个回文算式,比如:分别把“12×42=24×21”等号两边的因数交换位置,得到算式是:
42×12=21×24
这仍是一个回文算式。
还有更奇妙的回文算式,请看:
12×231=132×21(积是2772)
12×4032=2304×21(积是48384)
这种回文算式,连乘积都是回文数。
四位的回文数有一个特点,就是它决不会是一个质数。设它为abba,那它等于a*1000+b*100+b*10+a,1001a+101b。能被11整除。
六位的也一样,也能被11整除
还有,人们借助电子计算机发现,在完全平方数、完全立方数中的回文数,其比例要比一般自然数中回文数所占的比例大得多。例如11^2=121,22^2=484,7^3=343,11^3=1331,11^4=14641……都是回文数。
人们迄今未能找到五次方,以及更高次幂的回文数。于是数学家们猜想:不存在nk(k≥5;n、k均是自然数)形式的回文数。
在电子计算器的实践中,还发现了一桩趣事:任何一个自然数与它的倒序数相加,所得的和再与和的倒序数相加,……如此反复进行下去,经过有限次步骤后,最后必定能得到一个回文数。
这也仅仅是个猜想,因为有些数并不“驯服”。比如说196这个数,按照上述变换规则重复了数十万次,仍未得到回文数。但是人们既不能肯定运算下去永远得不到回文数,也不知道需要再运算多少步才能最终得到回文数。

H. 编程回文字符串 c语言

inthuiwen(char*s)
{
char*p=s;
while(*p)p++;//找到结束符的位置。
p--;//的前一个字符,就是字符串的最后一个字符。
while(s<p)
{
if(*s!=*p)return0;//发现不同,不是回文。内
s++;
p--;//二者向中间容移动。
}
return1;//到相遇后一直相同,是回文。
}

intmain()
{
chars[100];
scanf("%s",s);//输入字符串。
if(huiwen(s))//判断是否回文并输出结果。
printf("%s是回文字符串 ",s);
else
printf("%s不是回文字符串 ",s);

return0;
}

I. c语言回文数

#include<stdio.h>
#include<string.h>

#defineMAX100//预定义数组长度
intreverse(chara[])//判断是否回文,数字也当字符处理
{
intn=strlen(a);
inti;
for(i=0;i<n;i++)
{
if(a[i]!=a[n-i-1])
return0;//从首尾开始比较,有任一不相等,不是回文,返回0
if(i==n-i-1)//全相等,是回文。返回1
return1;
}
}
intmain(){

chara[MAX];

while(scanf("%s",a)!=EOF)//接受输入CTRL+Z结束输入
{
if(reverse(a))
printf("YES ");
else
printf("NO ");
}

return0;
}

J. 用c语言实现判断回文

#include&lt;stdio.h&gt;

#include&lt;stdlib.h&gt;

int main()

{

char a[100];

int i=0,j=0;

printf("请输入字符串: ");

gets(a);

while(a<i>!='')

i++;

i--;

for(;j&lt;=i;i--,j++)

{

if(a<i>!=a[j])

{

break;

}

}

if(j&lt;=i)

{

printf("不是回文串 ",a);

}

else

{

printf("是回文串 ",a);

}

system("pause");

return 0;

}

(10)回文c语言扩展阅读:

用法:

1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。

格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。

要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。

2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。