编写一个函数:void Func(char *strl,char *str2,char *str3),根据两个已知的字符串s1和s2生成新的字符串,新字符串的内容由s1中有而s2中没有的字符组成。编写一个主函数对函数Func()进行测试。
#include <stdio.h>
#include <string.h>
void Func(char* str1,char* str2,char* str3)
{
int i,j,k=0;
for(i=0;i<strlen(str1);i++)
{
for(j=0;j<strlen(str2);j++)
{
if(str1[i]==str2[j])
break;
}
if(j==strlen(str2))
{
str3[k]=str1[i];
k++;
}
str3[k]='\0';
}
}
int main()
{
char *str11="yangluoning";
char *str22="ylnddd";
char str33[100];
Func(str11,str22,str33);
printf("%s",str33);
}
编写一个函数:CopyChar(char a[],char b[]),将字符数组a中的数字字符存到数组b中。
#include <stdio.h>
void copychar(char a[],char b[])
{
int i=0,j=0;
while(a[i]!='\0')
{
if((a[i]>='0')&&(a[i]<='9'))
{
b[j]=a[i];
j++;
}
i++;
}
//for(i=0;i<j;i++)//这两句用来测试
//printf("%c",b[i]);
}
int main()
{
char a[]="da1k2l4cs5";
char b[100];
copychar(a,b);
}
有人这样写可能更好吧:
#include<stdio.h>
#include<ctype.h>
void CopyChar(char a[],char b[])
{
int i,j=0;
for(i=0;a[i]!='\0';i++)
{
if(isdigit(a[i]))
b[j++]=a[i];
}
b[j]='\0';
}
int main()
{
char a[100],b[100];
gets(a);
CopyChar(a,b);
puts(b);
return 0;
}