Linux下的C语言编程——合并两个字符集合

本文介绍了一个用于合并两个字符集合的C语言程序,并确保了每个字符串只出现一次。通过实例演示了如何将两个集合合并成一个新的不含重复元素的集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串。

    如:

      s1集合{“while”,”for”,”switch”,”if”,”continue”}

      s2集合{“for”,”case”,”do”,”else”,”char”,”switch”}

      运行结果:

      while   for   switch   if  break   continue   case  do  else  char

#include <stdio.h>
#include <math.h>

void string_cmp(char (*str)[10],char (*str1)[10],char (*str2)[10],int n,int m)
{
	int i;
	int j;
	int len;

	char (*p)[m];//瀹氫箟涓€涓寚閽堟暟缁?
	p = str2;

	for(i = 0,len = 0; i < n; i++,len++)//灏嗘暟缁剆tr1鎷峰埌str涓?	{
		strcpy(str[i],str1[i]);
	}

	for(i = 0; i < m; i++)//鍒ゆ柇str1鍜宻tr2涓槸鍚︽湁鐩稿悓鍏冪礌
	{
		for(j = 0; j < n; j++)
		{
			if(strcmp(str2[i],str1[j]) == 0)
			{
				strcpy(str2[i],"ok");//鐩稿悓鐨勫厓绱犵敤ok浠f浛
			}
		}


	}
	for(i = 0; i < m; i++)//灏唖tr2涓簬str1涓笉鐩稿悓鐨勫厓绱犲鍒跺埌str涓?	{
		if(strcmp(str2[i],"ok") != 0)
		{
			strcpy(str[len],str2[i]);
			len++;
		}
	}
	for(i = 0; i < len; i++ )//鎵撳嵃str
	{
		printf("%s\n",str[i]);
	}
}

int main()
{
	char str[10][10];
	char str1[][10] = {"while","for","switch","if","continue"};
	char str2[][10] = {"for","case","do","else","char","switch"};
	
	int n = 5;
	int m = 6;

	string_cmp(str,str1,str2,n,m);//璋冪敤鍑芥暟string_cmp

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值