C语言用指针编写函数判断输入的字符串是是否为回文,然后再主函数中

C语言用指针编写函数判断输入的字符串是是否为回文,然后再主函数中,第1张

1、打开visual C++ 60-文件-新建-文件-C++ Source File。

2、#include <stdioh>int ss(int i)  /自定义函数判断是否为素数/{int j; if (i <= 1)  /小于1的数不是素数/  return 0; if (i == 2) /2是素数/ return 1。

3、  for (j = 2; j < i; j++)  /对大于2的数进行判断/ { if (i % j == 0)return 0。

4、void main({ int i;for (i = 10; i < 1000; i++)if (ss(i) == 1)   /判断是否是回文数/。

5、    if (i / 100 == 0)   /判断是否是两位数/。

6、得到最后的结果。

算法一:

步骤:

huiwen(str){

1对比第一位和会后一位的字符是否相同,如果不相同表明不是回文数,退出。

2若步骤1相同对比第二位和倒数第二位,如果不相同表明不是回文数,退出。

3重复步骤1、2,对比对称位置上的字符

4全部相同,是回文数

退出

}

算法二:

步骤:

huiwen(str){

1设置变量1存放str字符串的倒置序列

2对比变量1和str,相等则是回文数,不相等则不是回文数

}

恕不提供代码

1、首先,在C语言软件中,定义多个整型变量,保存程序中所需 *** 作的数值。

2、定义两个数组,保存输入的字符串和最长回文。

3、输入字符串,保存在变量a中。计算字符串的长度,设置变量k和max的初值。

4、接着,用循环语句实现查找回文,以及最长回文的判断。

5、用if语句判断回文是否偶数,如果条件成立执行以下语句。

6、最后运行程序,输入任一连续字符串,电脑就会判断其中的最长回文,并输出。

#include<stdioh>

#include <stringh>

int fun(char a)

{

int i,l;

l=strlen(a);

for(i=0;i<l/2;i++)

if(a[i]!=a[l-1-i]) return 0;

return 1;

}

void main()

{

char s[81];

gets(s);

if(fun(s))

printf("Yes\n");

else

printf("No\n");

}

//首先我认为回文不一定是奇数个;也有可能是偶数个;只要这个字符串

//正读跟反读都一样 那它就是回文 所以不应该把字符串的个数当成是判断回文串的

//一个条件。

#include <stdioh>

#include <stringh>

#include <conioh>

bool huiWen(const char p);

int main()

{

char test[225];

gets(test);

if(huiWen(test))

{

printf("是回文!\n");

}

else

{

printf("不是回文!\n");

}

getch();

return 0;

}

bool huiWen(const char p)

{

int i=0,n=strlen(p);

while(p[i]==p[n-i-1] && i<n-i-1) //只要相等且还未相遇则继续循环

{

i++;

}

return ((i<n-i-1) false:true); //若i<n-i-1表示中途遇到不相等的字符而退出循环

}

编写程序,是则输出yes,否则输出No。

#include <iostream>

using namespace std;

int main()

{char s[100];

int i,j;

cout<<"请输入字符串s:"<<endl;

cin>>s;

for(i=0;s[i];i++);

for(i--,j=0;j<i&&s[i]==s[j];i++,j--);

if(i<j)cout<<"不是回文串"<<end;

else cout<<"是回文串"<<end;

return 0;

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12185180.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存