华北水利水电大学c语言实验报告5

1) 编写一个程序,对两个字符串s1和s2进行比较。若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。不要使用strcmp函数,两个字符串用gets函数读入。输出的正数或负数的绝对值是相比较的两个字符串相应字符的ASCII码的差值。例如,‘a’与‘c’比,由于‘a’<‘c’,应输出负数,由于‘a’与‘c’的ASCII码值相差2,因此输出-2。比如and与aid比较,根据第2个字符比较结果,‘n’>‘i’,故输出5。  

#include<stdio.h>
#include<string.h>
int main()
{
	int m;
	char s1[100], s2[100];
	printf("请输入第一个字符串:\n");
	gets_s(s1);
	printf("请输入第二个字符串:\n");
	gets_s(s2);
	for (int i = 0; i <strlen(s1); i++)
	{
		if (s1[i] != s2[i])
		{
			m = s1[i] - s2[i];
			break;
		}
		else
			m = 0;//直到遍历最后找不到不同的字符再让m=0,所以不用break
	}
	printf("%d\n", m);
	return 0;
}

输出结果

2) 编写一个程序,输入一个字符串,判断该字符串是否为回文,当字符串是回文时输出“Yes”,否则输出“No”。所谓回文是指正向与反向的拼写都一样的字符串,例如:adgda是回文,abcde不是回文。

#include<stdio.h>
#include<string.h>
int main()
{
	char ch[20];
	printf("请输入一个字符串:\n");
	gets_s(ch);
	int sz = strlen(ch);
	int left = 0;//数组左下标
	int right = sz - 1;//数座右下标
	while (left <= right && ch[left] == ch[right])
	{
		left++;
		right--;
	}
	if (left < right)//如果是回文则循环的最后left=right
	{
		printf("No\n");
	}
	else
	{
		printf("Yes\n");
	}
	return 0;
}

 输出结果

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值