C语言:编写一个对字符串处理的程序,要求能够识别字符串中大写字母、小写字母以及数字的个数并输出,识别“L”、“o”、“v”、“e”四个字符的位置

编写一个对字符串处理的程序,要求能够识别字符串中大写字母、小写字母以及数字的个数并输出,识别“W”、“a”、“n”、“d”四个字符的位置,并将四个字符和对应的ASC-II分别存储在字符和int数组中并显示。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

到底是Love还是Wand?我这里用Wand吧:

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

int main()
{
    char str[100];
    int i, upper = 0, lower = 0, num = 0;
    int ascii_W, ascii_a, ascii_n, ascii_d;
    char char_W, char_a, char_n, char_d;
    int pos_W, pos_a, pos_n, pos_d;

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

    for (i = 0; i < strlen(str); i++)
    {
        if (str[i] >= 'A' && str[i] <= 'Z')
            upper++;
        else if (str[i] >= 'a' && str[i] <= 'z')
            lower++;
        else if (str[i] >= '0' && str[i] <= '9')
            num++;
    }
    printf("大写字母有%d个,小写字母有%d个,数字有%d个\n", upper, lower, num);

    for (i = 0; i < strlen(str); i++)
    {
        if (str[i] == 'W')
        {
            ascii_W = str[i];
            char_W = str[i];
            pos_W = i;
        }
        else if (str[i] == 'a')
        {
            ascii_a = str[i];
            char_a = str[i];
            pos_a = i;
        }
        else if (str[i] == 'n')
        {
            ascii_n = str[i];
            char_n = str[i];
            pos_n = i;
        }
        else if (str[i] == 'd')
        {
            ascii_d = str[i];
            char_d = str[i];
            pos_d = i;
        }
    }
    printf("W的位置是%d,a的位置是%d,n的位置是%d,d的位置是%d\n", pos_W, pos_a, pos_n, pos_d);
    printf("W的ASCII码是%d,a的ASCII码是%d,n的ASCII码是%d,d的ASC-II码是%d\n", ascii_W, ascii_a, ascii_n, ascii_d);
    printf("字符数组:[%c, %c, %c, %c]\n", char_W, char_a, char_n, char_d);
    printf("ASCII码数组:[%d, %d, %d, %d]\n", ascii_W, ascii_a, ascii_n, ascii_d);

    return 0;
}