- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个几乎正确的全字词程序,但我不明白为什么它不起作用?
int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
char *a=malloc(256);
int first[26]={0},c=0,i=0,flag=0;
//printf("Enter string");
fgets (a, MAX_NAME_SZ, stdin);
while(a[c]!='\0')
{
first[a[c]-'a']++;
c++;
}
for(i=0;i<26;i++)
{
if(first[i]==0)
{
flag=1;
break;
}
}
if(flag==0)
{
printf("panagram");
}
else
{
printf("not panagram");
}
return 0;
}
最佳答案
您的代码中存在逻辑错误,因为您没有对用户输入进行任何输入验证和/或健全性检查。
在您的代码中,
first[a[c]-'a']++;
如果a[c]
不在[a, z]
范围内,则尝试访问first
数组中的无效内存位置。
即使用户输入 UPPER
大写字母或 空格 [] (逻辑上所有这些都应被视为有效输入),你的编程经验undefined behaviour通过访问越界内存。
为避免这种情况,请先检查 a[c]
值,然后再直接将其用作 first
数组的索引。
关于c - 为什么这个 pangram 程序不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28470471/
这是我编写的全语法的函数。由于某种原因,alpha[num]采用a,c,e,g等而不是采用a,b,c,d,e等等 def ispangram(str1,alphabet=string.ascii_lo
Pangram是使用字母表中的每个字母至少一次的句子。 是否可以生成最短的Pangram来自给定的单词列表? 比方说,我有这样的单词列表 cat monkey temp banana christma
给定一个包含字母 a-z 至少一次的单词列表,你将如何编写一个程序来找到最短的 pangram按字符数(不计算空格)算作单词的组合? 由于我不确定是否存在简短答案,因此这不是代码高尔夫,而只是讨论您将
我正在尝试编写一个 REGEX 来测试 PANGRAM。我可以用传统的方式来做,但似乎无法用正则表达式解决超过 90% 的测试。 输入:字符串 输出:真||假的 function isPangram(
我想创建一个将字符串作为输入的函数,并检查该字符串是否为 pangram(pangram 是一段包含字母表中每个字母的文本)。 我编写了以下代码,该代码有效,但我正在寻找一种替代方法,希望是一种短路方
import java.io.*; import java.util.*; public class Solution { public static final int n = 26;
这是一个几乎正确的全字词程序,但我不明白为什么它不起作用? int main() { /* Enter your code here. Read input from STDIN. Print
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我正在尝试为一组元素(字母表中的每个字母)设置正确的类。每个元素都有 id #alpha_0 到 #alpha_25。如果输入中的字母出现一次,则将该字母设置为绿色。如果字母出现不止一次,则将其设置为
恶作剧的念头让我想方设法找到完美的英语 Pangrams。我计划使用动态编程技术编写一个程序来尝试确定可能的完美 pangrams,除非其他人知道已经存在的 pangrams,或者能够为我提供已知的解
我厌倦了使用 Gimp 无休止地滚动所有字体来不规律地搜索完美字体,所以我想:“为什么不为每种字体构建一个可视的 pangrams 列表”。 因此,我尝试构建一个 php 脚本,该脚本在 .fonts
这个问题已经有答案了: What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? (25 个回答)
#include #include #include #include #define number_of_letters 26 bool IsPangram(char* string); int m
Pangram 是一个获取输入并检查它是否包含所有字母的函数,这是我使用 ASCII 代码的代码: function pangram(x) { var a; for (var i =
我试图通过在 Java 中使用 set 来确定字符串是否为 pangram 我试过下面的代码。现在输出显示不是 pangram,但它应该是 pangram。请告诉我我的解决方案有什么问题 //
这是如何运作的?它检查一个字符串是否至少包含一次从 a 到 z 的每个字符? import string def ispangram(str1, alphabet=string.ascii_lower
到目前为止,我已经想到了这个。我试图最小化字符串操作并将解决方案隔离到内置数据类型、数组和整数操作。 我正在寻找更优雅的方法来检查 pangram 字符串,在 java 中。 优雅,代码行最少,也欢迎
自枚举 pangrams 的 wiki 文章指出它们是使用二元决策图计算的。我一直在阅读有关 BDD 的文章,根据我的理解,您需要先将某个问题表示为 bool 函数,然后才能为其构建 BDD。 我该怎
我必须编写一个函数,它接受一个字符串并返回字符串中所有缺失的字母。下面的函数看起来很简单,但它没有返回任何东西。有什么提示吗? string getMissingLetters(const strin
我必须找出句子是 pangram(Pangram 是通过使用字母表中的每个字母至少一次构造的句子)或不是 因超时而终止。为什么我觉得没问题?怎么想的。我在 hackerrank 上使用这个。 请告诉我
我是一名优秀的程序员,十分优秀!