C语言实现字母字符复制

用C语言将字符串str1中的字母字符复制到另一字符串str2中,如输入字符串str1abcd123ABCD,输出到str2字符串为abcdABCD要求在主函数中输入字符串并输出复制结果,在被调函数中实现复制

#include <stdio.h>
#include <string.h>

void copyLetters(char *str1, char *str2) {
    int j = 0;
    for (int i = 0; i < strlen(str1); i++) {
        if ((str1[i] >= 'a' && str1[i] <= 'z') || (str1[i] >= 'A' && str1[i] <= 'Z')) {
            str2[j] = str1[i];
            j++;
        }
    }
    str2[j] = '\0';  // 添加字符串结束符
}

int main() {
    char str1[100];
    char str2[100];

    printf("请输入字符串str1: ");
    scanf("%s", str1);

    copyLetters(str1, str2);

    printf("复制结果为: %s", str2);

    return 0;
}

#include <stdio.h>
#include <string.h>

void copy_alphabet(char *str1, char *str2) {
    int i = 0;
    while (str1[i] != '\0') {
        if (isalpha(str1[i])) {
            str2[i] = str1[i];
            i++;
        }
    }
    str2[i] = '\0';
}

int main() {
    char str1[100], str2[100];
    printf("请输入字符串:");
    scanf("%s", str1);
    copy_alphabet(str1, str2);
    printf("复制结果为:%s\n", str2);
    return 0;
}

供参考:

#include <stdio.h>
void fun(char *str1, char *str2)
{
    int i = 0, j = 0;
    while (str1[i]) {
        if (str1[i] >= '0' && str1[i] <= '9')
            i++ ;
        else
            str2[j++] = str1[i++];
    }
    str2[j] = '\0';
}

int main()
{
    char str1[128], str2[128];
    printf("请输入字符串1:");
    gets(str1);
    fun(str1, str2);
    printf("字符串2为:%s\n", str2);
    return 0;
}