编写一个函数: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; }