C语言-判断回文字符串(二)

C语言-判断回文字符串(二)7-2 判断回文字符串 (15分)输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。输入样例1:level输出样例1:levelYe…

大家好,又见面了,我是你们的朋友全栈君。

7-2 判断回文字符串 (15 分)

输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。

输入格式:

输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。

输出格式:

输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No

输入样例1:

level

输出样例1:

level
Yes

输入样例2:

1 + 2 = 2 + 1 =

输出样例2:

1 + 2 = 2 + 1 =
No

这道题刚上一篇博客写的题有点不一样,主要是算法上的不同,需求还是一样,都是判断字符串是不是回文字符串,上次写的博客的那道题是使用数组+指针来判断回文字符串,这道题没给我们限制算法,那么我们就用最原始的方法,直接上数组!!!

先看代码吧

#include<stdio.h>
int main(){
	int i,k,j;
	char line[80];
	
	k = 0;
	
	while((line[k] = getchar()) != '\n'){//读入字符串,以回车符结尾
		k++;//统计输入字符串的长度
	}
	
	i = 0;
	j = k;//保存k值
	
	k = k-1;//k = k-1的意思是,数组的下标最大是k-1
	
	while(i < k){
		if(line[i] != line[k])//字符串比较判断
			break;
		i++;
		k--;
	}
	
	for(int i = 0;i < j;i++){//输出字符串
		printf("%c",line[i]);
	}
	printf("\n");
	
	if(i >= k){打印判断结果
		printf("Yes\n");
	} else{
		printf("No\n");
	}
	
	return 0;
}

这道题的代码就相对比较容易理解一些了。首先是输入,输入以回车符结尾,并统计字符串长度,然后根据字符串长度进行首尾的字符比较。这个代码可能唯一难理解的地方是最后打印判断结果的地方,为什么是i >=k,这个你可以带入一个字符串进行验证一下,再回过头来想想,i是从零开始的,k是从最大下标k-1开始的,如果i<k了,那肯定说明在执行判断的时候因为字符不对影响等而终止了,说以只有当i >=k的时候才能正确判断字符串是不是回文。 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138863.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 3500 左右 办公电脑配置

    3500 左右 办公电脑配置

    2022年7月12日
    31
  • Diablo II中的各种hacks

    Diablo II中的各种hacksGamehacks,也就是通常所说的游戏软件。在网络游戏时代,也许是因为针对传奇这类游戏的软件大都利用WPE之类的抓包工具来制作,因此hacks又叫外挂。不过Diablo的hacks绝大多数是和游戏代码紧密结合在一起的,也许应该叫内挂才对。DiabloIILOD(以下简称D2X)中的hacks大概可分为exploit、bot和mod三大类。exploit即漏洞,就是利用游戏设计上的缺陷或者B…

    2022年6月2日
    56
  • busybox最新版(busybox apk)

    把”busybox-armv6l”重命名为”busybox”;将busybox传入手机的SD卡,打开terminal(Linux,Mac)或cmd(Windows)adbpush~/Desktop/busybox/mnt/sdcard其中的~/Desktop请根据自己的情况替换成正确的路径输入以下命令,为了在/system目录写入文件adbshellsumount-oremount,r…

    2022年4月12日
    90
  • pfx证书解析

    pfx证书解析从pfx中获取CA证书opensslpkcs12-intest.pfx-nodes-outserver.pem输入证书密码,提取公钥opensslx509-inserver.pem-outpublic.cer提取私钥opensslrsa-inserver.pem-outprivate.key

    2022年5月2日
    189
  • PyTorch碎片:PyToch和Torchvision对应版本「建议收藏」

    PyTorch碎片:PyToch和Torchvision对应版本「建议收藏」前言错误分析:安装pytorch或torchvision时,无法找到对应版本cuda可以找到,但是无法转为.cuda()以上两种或类似错误,一般由两个原因可供分析:cuda版本不合适,重新安装cuda和cudnnpytorch和torchvision版本没对应上pytorch和torchvision版本对应关系pytorchtorchvisionpythoncuda1.5.10.6.1>=3.69.2,10.1,10.21.5.0

    2022年6月24日
    57
  • selenium 和 IP代理池

    selenium 和 IP代理池3.1seleniumselenium:Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作(模拟浏览器操作)同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬Selenium支持非常多的浏览器,如Chrome、Firefox、PhantomJS等浏览器对象的初始化并将其赋值为browser对象。接下来,我们要做的就是调用…

    2022年5月2日
    120

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号