发布网友 发布时间:2022-04-23 06:39
共3个回答
热心网友 时间:2022-05-07 09:06
#include <stdio.h>
void pickup( char* sp, char* dp, char* rp) {
char *p,*q,*w;
p = sp;
w = rp;
while(*p) {
q = dp;
while(*q) {
if((*p == *q) && (*p != ' ')) *w++ = *p;
q++;
}
p++;
}
*w = '\0';
}
int main() {
char s1[30],s2[30],s3[15];
printf("请输入字符串s1 = ");
gets(s1);
printf("请输入字符串s2 = ");
gets(s2);
pickup(s1,s2,s3);
printf("rp = %s\n\n",s3);
return 0;
}
热心网友 时间:2022-05-07 10:24
区分大小写的话RP不是楼主的那个结果
#include<stdio.h>
int ifchar(char s );
void pickup( char* sp, char* dp, char* rp);
void main()
{
char sp[50],dp[50],rp[50];
printf("sp->");
gets(sp);
printf("dp->");
gets(dp);
pickup( sp, dp, rp);
printf("rp->%s\n",rp);
}
void pickup( char* sp, char* dp, char* rp)
{
int i,j,k=0;
for(i=0;sp[i]!='\0';i++)
{
if (ifchar(sp[i]))
{
j=0;
while (dp[j]!='\0')
{
if(sp[i]==dp[j])
{
rp[k++]=sp[i];
break;
}
j++;
}
}
}
rp[k]='\0';
}
int ifchar(char s)
{
if(((s>='a')&&(s<='z'))||((s>='A')&&(s<='Z')))
return 1;
else return 0;
}
热心网友 时间:2022-05-07 11:59
void pickuo(char *strsp, char *strdp,char *strrp);
{
if( (*strsp++ = * strdp++) != ‘\0’ )
{
*strsp=*strrp;
*strrp++;
}
NULL ;
}
未编译 偶然看到写的 看看对你有帮助么