Rachel_zky 2021-05-21 14:32 采纳率: 22.2%
浏览 74
已采纳

c语言-截取重构字符串

【问题描述】

编写函数void fun(char *s,char *t,char *p)将未在字符串s中出现、而在字符串t中出现的字符, 形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。

例如: 当s为"12345", t为"8624677"时, p中的字符为: "867";

当s为”good luck”,t为”thank you very much”时,输出:”thanyverm”

#include<stdio.h>

#include<math.h>

void fun(char *s,char *t,char *p)

{

}

int main()

{

char s1[50],s2[50],s3[50];

printf("Input string s:");

gets(s1);

printf("Input string t:");

gets(s2);

fun(s1,s2,s3);

printf("result:");

puts(s3);

return 0;

}

【输入形式】输入两个字符串
【输出形式】输出一个字符串
【样例输入】

Input string s:12346

Input string t:689412356680014

【样例输出】result:8950

  • 写回答

2条回答 默认 最新

  • qfl_sdu 2021-05-21 15:06
    关注

    代码如下,如有帮助,请采纳一下,谢谢。

    #include<stdio.h>
    #include <string>
    void fun(char *s,char *t,char *p)
    {
    	int lens = strlen(s);
    	int lent = strlen(t);
    
    	int index = 0;
    
    	for (int i = 0; i < lent; i++)
    	{
    		char c = t[i];
    		bool b = false;
    		for (int j = 0; j < lens; j++)
    		{
    			if (s[j] == c)
    			{
    				b = true;
    				break;
    			}
    		}
    		//
    		if (!b)
    		{
    			b = false;
    			for (int j = 0; j < index;j++)
    			{
    				if (p[j] == c)
    				{
    					b = true;
    					break;
    				}
    			}
    			if(!b)
    			{
    				p[index] = c;
    				index++;
    			}
    		}
    		
    
    	}
    
    }
    int main()
    {
    	char s1[50] ={0};
    	char s2[50] ={0};
    	char s3[50] = {0};
    	printf("Input string s:");
    	gets(s1);
    	printf("Input string t:");
    	gets(s2);
    	fun(s1,s2,s3);
    	printf("result:");
    	puts(s3);
    
    	getchar();
    	getchar();
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退