• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

wchenfeng

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

(2种)编写一个函数funchar(char *a,char *b,char *c)实现如下功能:将在第一个字符串中出现的但在第二个字符串未出现的字符放在第三个字符串中,函数返回第三个字符串的长度。

#include<stdio.h>
#include<string.h>
typedef struct zimu
{
	char a[32];
	char b[32];
	char c[32];
}str;

int main()
{
	int i,k=0,j,t=0;
	str x={0};
	scanf("%s",&x.a);
	scanf("%s",&x.b);
	for(i=0;i<strlen(x.a);i++)
	{
		for(j=0;j<strlen(x.b);j++)
		{
			if(x.a[i]==x.b[j])
			{
				t=0;
				break;
			}
			else 
			{
				t=1;
				continue;
			}
		}
		if(t==1)
		{
			x.c[k]=x.a[i];
			k++;
	}
		
  }
	printf("%s %d",x.c,k);
}
#include <stdio.h>
#include <string.h>
int funchar(char p1[], char p2[], char p3[])
{
	int i,k=0,t,j;
   for(i=0;i<strlen(p1);i++)//这个循环来读取p1的数组内容
	{
		for(j=0;j<strlen(p2);j++)//这个循环来读取p2的数组内容
		{
			if(p1[i]==p2[j])//比较p2在p1中是否有相同的数组内容,如果有就t=0。进行p[0],[1]等等的比较,要看p2的数组长度
			{
				t=0;
				break;//打破循环体,跳出if语句和for语句,不再执行for(j)
			}
			else
					t=1;
			//跳过循环体中剩余语句,强制执行下一次循环,此处不用continue也行
		}
		 if(t==1)//当t=1时,说明有不同的内容,将不同的内容赋值给p3,然后输出p3中数组的个数
		{
			p3[k]=p1[i];
		     k++;
		}
  
	}
   p3[k]='\0';
   return k;
}//补充funchar代码

void main(void)
{
    char a[100], b[100], c[100];
    int length;

    gets(a);
    gets(b);

    length = funchar(a, b, c);
    printf("%s %d\n", c, length);
} 

如果需要注解说明,请联系作者。

posted on 2022-04-12 20:03  王陈锋  阅读(37)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3