C语言作业的一种解决方案
本文最后更新于 897 天前,其中的信息可能已经有所发展或是发生改变。

这是作业题目:编写一个对字符串处理的程序,要求能够识别字符串中大写字母、小写字母以及数字的个数并输出,识别“L”、“o”、“v”、“e”四个字符的位置,如果有,将四个字符和对应的ASC-II分别存储在字符和int数组中并显示;如果没有,能够通过提示缺失哪个字符,并要求手动输入并存储在字符和int数组中并跟上述字符一并显示。

简单翻了下书,写的比较着急,注释也没怎么标,有待优化,仅供参考

使用Visual Studio 2022

#define _CRT_SECURE_NO_WARNINGS

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





int main()
{
    char str[1000];

    char lovec[5];
    char Lmr[100];
    char omr[100];
    char vmr[100];
    char emr[100];
    int love[100];

    int j = 0, k = 0, p = 0, q = 0;
    int Lt = 0, ot = 0, vt = 0, et = 0;
    char j1=0,k1=0,p1=0,q1=0;

    int L_r = 76;

    int o_r = 111;

    int v_r = 118;

    int e_r = 101;


    int i, num = 0, cap = 0, low = 0;  //num数字,cap大写字母,low小写字母
    printf("请输入字符串\n");
    gets_s(str);


    for (i = 0; str[i] != '\0'; i++)//    for(i=0;i<strlen(str);i++)//strlen用于计算字符串长度
    {
        if (str[i] >= '0' && str[i] <= '9') num++;
        else if (str[i] >= 'A' && str[i] <= 'Z') cap++;
        else if (str[i] >= 'a' && str[i] <= 'z') low++;
    }

    printf("数字有%d个\n大写字母有%d个\n小写字母有%d个\n", num, cap, low);
    printf("其中,对于'L','o','v','e'这四个字母:\n");
    j = 0, k = 0, p = 0, q = 0;

    for (i = 0; i < strlen(str); i++) 
    {
        if (str[i] == 'L')
        {
            Lt++;
            //printf("L在第%d位!", i);
            printf("第%d个L在第%d位!\n", Lt, i+1);
            j = 1;
        }
        
    }

    for (i = 0; i < strlen(str); i++)    
    {
        if (str[i] == 'o')
        {
            ot++;
            printf("第%d个o在第%d位!\n", ot,i+1);
            k = 1;
        }
    }
    for (i = 0; i < strlen(str); i++)
    {
        if (str[i] == 'v')
        {
            vt++;
            printf("第%d个v在第%d位!\n", vt,i+1);
            p = 1;
        }
    }
    for (i = 0; i < strlen(str); i++)
    {
        if (str[i] == 'e')
        {
            et++;
            printf("第%d个e在第%d位!\n", et,i+1);
            q = 1;
        }
    }

    //printf("%d,%d,%d,%d",j, k, p, q);

    if (j == 1 && k == 1 && p == 1 && q == 1)
    {
        lovec[0] = 'L';
        lovec[1] = 'o';
        lovec[2] = 'v';
        lovec[3] = 'e';
        lovec[4] = '\0';
        love[0] = 76;
        love[1] = 111;
        love[2] = 118;
        love[3] = 101;
        love[4] = '\0';

        printf("这四个字符为:\n");
        printf("%s", lovec);
        printf("\n");
        printf("这四个字符的ASCII值为:\n");
        for (i = 0; i < 4; i++)
        {
            printf("%d\n", love[i]);
        }
    }
    else
    {
        if (j == 0)
        {
            do
            {
                printf("没有字符 L !请输入!\n");
                scanf("%s", Lmr);
                if (Lmr[0] == 'L')
                {
                    j = 1;
                }
            } 
            while (j==0);

            
        }
     
        if (k == 0)
        {
            do
            {
                printf("没有字符 o !请输入!\n");
                scanf("%s", omr);
                if (omr[0] == 'o')
                {
                    k = 1;
                }
            } while (k == 0);
        }
        if (p == 0)
        {
            do
            {
                printf("没有字符 v !请输入!\n");
                scanf("%s", vmr);
                if (vmr[0] == 'v')
                {
                    p = 1;
                }
            } while (p == 0);
        }
        if (q == 0)
        {
            do
            {
                printf("没有字符 e !请输入!\n");
                scanf("%s", emr);
                if (emr[0] == 'e')
                {
                    q = 1;
                }
            } while (q == 0);
        }

        lovec[0] = 'L';
        lovec[1] = 'o';
        lovec[2] = 'v';
        lovec[3] = 'e';
        lovec[4] = '\0';
        love[0] = 76;
        love[1] = 111;
        love[2] = 118;
        love[3] = 101;
        love[4] = '\0';

        printf("这四个字符为:\n");
        printf("%s", lovec);
        printf("\n");
        printf("这四个字符的ASCII值为:\n");
        for (i = 0; i < 4; i++)
        {
            printf("%d\n", love[i]);
        }


    }
    

    return 0;
}
当前页面URL: https://tylk.cc/archives/594
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
颜文字
洛天依9周年
洛天依夜航星
洛天依8周年
上一篇
下一篇