当前位置: 首页 > 知识库问答 >
问题:

为什么显示的是随机数?读字符串字母的C程序

韩鸿波
2023-03-14

所以我必须创建一个程序来读取用户输入,并显示每个字母在字符串中出现多少次,还有多少个非字母,但我的字母代码显示的是随机数。

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

#define SIZE 100

void readInput (char string[]);
void Calc(char string[], int letters[]);

void
readInput (char string[])
{
    printf ("Enter a String:\n");
    fgets (string, SIZE, stdin);

    string[strlen (string) - 1] = '\0';
}

void
Calc(char string[], int letters[])
{
    int c = 0, x;
    while (string[c] != '\0')
    {
        if (string[c] >= 'a' && string[c] <= 'z')
        {
            x = string[c] - 'a';
            letters[x]++;
        }

        c++;
    }

    for (c = 0; c < 26; c++)
        printf ("%c occurs %d times in the entered string.\n", c + 'a', letters[c]);
}

int
main ()
{
    char string[SIZE];
    int letters[26];

    readInput (string);
    Calc(string, letters);
    return 0;
}

我是字符串的新手,我搜索过一些例子,但似乎找不到我的代码有什么问题,也不知道我将如何包含非字母部分。

共有1个答案

洪念
2023-03-14

字母的内容未初始化。程序的行为在形式上是不确定的。

通过编写int letters[26]={0};对其进行排序,这样做可以将所有元素设置为零,这正是您在本例中所希望的。

 类似资料:
  • 问题内容: 在JavaScript中生成随机的字母数字(大写,小写和数字)字符串以用作可能唯一的标识符的最短方法(在合理范围内)是什么? 问题答案: 如果只想允许特定字符,也可以这样: 另一种方法是使用特殊的字符串,该字符串告诉函数使用什么类型的字符。您可以这样做: 另外,要使用如下所述的base36方法,您可以执行以下操作:

  • 问题内容: 如何生成(伪)随机字母数字字符串,例如:PHP中的“ d79jd8c”? 问题答案: 首先用所有可能的字符组成一个字符串: 您还可以使用range()更快地完成此操作。 然后,在一个循环中,选择一个随机数并将其用作字符串的索引以获取随机字符,然后将其附加到您的字符串中: 是随机字符串的长度。

  • 本文向大家介绍js随机生成字母数字组合的字符串 随机动画数字,包括了js随机生成字母数字组合的字符串 随机动画数字的使用技巧和注意事项,需要的朋友参考一下 js随机动画生成一组随机数字 在线预览 点击下载 效果描述: 附件中只有一个index.html文件有效 其中包含css以及html两部分内容 纯js生成的几个随机数字 每次都不重复,点击按钮后再次切换 使用方法: 1、将css样式引入到你的网

  • 问题内容: 我一直在寻找一种简单的 Java算法来生成伪随机的字母数字字符串。在我的情况下,它将用作唯一的会话/密钥标识符,在整个世代中“可能”是唯一的(我的需求实际上不需要任何更复杂的东西)。 理想情况下,我可以根据自己的独特性要求指定长度。例如,生成的长度为12的字符串可能看起来像。 问题答案: 算法 要生成随机字符串,请连接从可接受的符号集中随机抽取的字符,直到字符串达到所需的长度。 实作

  • 问题内容: 如何在Swift中生成随机的字母数字字符串? 问题答案: Swift 4.2更新 Swift 4.2在处理随机值和元素方面引入了重大改进。您可以在此处阅读有关这些改进的更多信息。这是减少到几行的方法: Swift 3.0更新 原始答案:

  • 问题内容: 使用java如何生成随机的字母数字字符串? 问题答案: 算法 要生成随机字符串,请连接从可接受的符号集中随机抽取的字符,直到字符串达到所需的长度为止。 实例 这是一些相当简单且非常灵活的代码,用于生成随机标识符。阅读以下信息以获取重要的应用笔记。 用法示例 为8个字符的标识符创建不安全的生成器: 为会话标识符创建一个安全的生成器: 创建具有易于阅读的代码的生成器以进行打印。字符串比完整