C语言趣练习:两个字符串不用strcmp函数怎么比较大小

2023-12-13 15:34:46

目录

1习题一:两个字符串不用strcmp函数怎么比较大小,并输出其差值

2不用strcpy函数将s2字符串中内容复制到s1中

3译密码问题

4总结:


1习题一:两个字符串不用strcmp函数怎么比较大小,并输出其差值

解题思路:利用循环来做;

代码如下:

#include<stdlib.h>
#include<string.h>
int main()
{
	int i,j,t=0,x,m,n; 
	char a[100],b[100];
	printf("请输入两个字符串\n");
	gets(a);
	gets(b);
	m=strlen(a);
	n=strlen(b);
	if(m>n) x=m;
	else    x=n;
	for(i=0;i<x;i++)
	{
		if(a[i]<=b[i])
		{
			if(a[i]==b[i]) t+=0;
			else t+=a[i]-b[i];
		}
		else t+=a[i]-b[i];
	}
	printf("最终结果为:%d",t);
	return 0;
}

运行结果:

2不用strcpy函数将s2字符串中内容复制到s1中

解题思路:可以利用循环进行赋值操作;

代码如下:

#include<stdio.h>
#include<string.h>
int main()
{
	int i,j,x0,x1;
	char a[100],b[100];
	printf("请输入两个字符串\n");
	gets(a);
	gets(b);
	x0=strlen(a);
	x1=strlen(b);
	for(i=0;i<x1;i++)
	{
		a[i]=b[i];
	}
	printf("%s",a);
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
?? ?int i,j,x0,x1;
?? ?char a[100],b[100];
?? ?printf("请输入两个字符串\n");
?? ?gets(a);
?? ?gets(b);
?? ?x0=strlen(a);
?? ?x1=strlen(b);
?? ?for(i=0;i<x1;i++)
?? ?{
?? ??? ?a[i]=b[i];
?? ?}
?? ?printf("%s",a);
?? ?return 0;
}

运行结果如图所示:

3译密码问题

问题:C语言-译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。

例如,可以将以下规律将电文变成密码:将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。字母按上述规律转换,非字母字符保持原状不变,如“China!”变成“Glmre!”。从键盘输入一行字符,要求输出其相应的密码。

代码如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char c[100]; 
	int i=0,j,x; 
	printf("请输入一行电文\n");
	gets(c);
	printf("%s",c);
	x=strlen(c);
	for(i=0;i<x;i++)
	{
		if(c[i]>='A'&&c[i]<='Z')
		{
			c[i]=90-(c[i]-65);
		}
		else if(c[i]>='a'&&c[i]<='z')
			{
				c[i]=122-(c[i]-97);
			}
	}
	printf("%s",c);
	return 0;
}

运行结果如图所示:

4总结:

感谢各位的阅读,以上就是“C语言数组习题”的内容了,经过本文的学习后,相信大家对C语言这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是CSDN杰克尼,小编将为大家推送更多相关知识点的文章,欢迎关注!

若还想尝试练题可以看我主页,比如说:C语言数组输出平行四边形问题问题-CSDN博客等等

文章来源:https://blog.csdn.net/mrjieke6/article/details/134897165
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。