C语言回文编程
① 用c语言写回文数,怎么写啊/急求!!
/编写一个回文数的程序c语言编程
#include <stdio.h>
void main()
{
int n, m=0, count=0;
printf("请输入一个数:\n");
scanf("%d", &n);
for(n=1; n<=10000; n++)
{
while(n>0)
{
m=m*10+n%10;
n=n/10;
}
if(m==n)
{
count++;
printf("%3d", n);
}
if(count%5==0)
printf("\n");
}
}
我写的是找出1到10000的回文数,不过是在没有vc++坏境下写的,代码还美调试,自己运行一下看看。
② 编程回文字符串 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;
}
③ c语言,输出所有的四位回文数,如1221'等
int main()
{
int x,y;
for(int i=10;i<100;++i)
{
x=i%10;
y=i/10;
printf("%d%d%d",i,x,y);
}
}
④ C语言编程,输出三位数中所有的回文数,并计算出共有多少个
//3位数的回文数只需判断第一位(即百位)和第三位(即个位)是否相等,相等则为回文数
//不定位数的回文数用数组的方式更加方便,如判断10---99999999中的回文数
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intn=100;
intcount=0;//计数
for(n;n<=999;n++)
{
inta,c;//a代表该3位数的第一位,c代表第三位
a=n/100;//求得第一位(百位)
c=n%10;//求得第三位(个位)
if(a==c)
{
printf("%d",n);
count++;
}
}
printf(" 共有%d个",count);
return0;
}
⑤ 用c语言实现字符串的回文,有要求如下:
//---------------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
int is(char *str,size_t len) //判断长度为len的字符串str是不是回文
{
int b=0,e=len-1;
while (b<e)
{
if (str[b]==str[e]) {
b++;
e--;
}
else return 0;
}
return 1;
}
int main(void)
{
char s[80];
scanf("%79s",s); //输入一个字符串
if (is(s,strlen(s))) printf("\"%s\"是回文\n",s);
else printf("\"%s\"非回文\n",s);
return 0;
}
//---------------------------------------------------------------------------