gpt4 book ai didi

c - 如何修复我的 C 程序?

转载 作者:行者123 更新时间:2023-11-30 21:32:13 25 4
gpt4 key购买 nike

我以为我修复了我的代码,所以我删除了我的旧帖子。我的问题是试图确定我的代码有什么问题。我正在测试一个字符串,看看它是否满足两个条件。它必须仅包含字母字符和至少一个元音。我从哪里开始?

int check_word(char);

main()
{
char array[100];
int result;

printf("Enter a word:\n");
gets(array);

check_word(array);
{
if result == 1;
printf("Word is valid\n");

else
printf ("Word is notvalid.");
}
return 0;
}



int check_word(char a)
{
if ( a >= 'A' && a <= 'Z' )
a = a + 'a' - 'A'; /* Converting to lower case */

if ( (a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u') && (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
result = 1;
else
result = 0;

return result;
}

最佳答案

以下是您可能需要查找的一些内容:

  • isalpha
  • The C switch statement
  • 数组和单个变量之间的区别。
  • C 中的字符串(实际上是一个以 0 结尾的字符数组)
  • 返回值的工作原理

编辑:这是一个小练习:“填补空白”

用语义上正确的语句填充每个间隙...解释(即原因)为什么您必须在那里写下该特定陈述。

#include <...>
#include <...>

int is_vowel(int c)
{
switch(c) {
case 'a':
case 'A':
case 'e':
...
return ...;
}
return ...;
}

int justalpha_hasvowel(... candidate)
{
if(!candidate)
return ...;

int found_vowel = 0;
for(char *c = candidate; *c; ...) {
if(!isalpha(*c))
return 0;
found_vowel = is_vowel(*c) || ...;
}
return found_vowel;
}

... main(...)
{
char array[100];
int result;

printf("Enter a word:\n");
memset(array, 0, sizeof(array));
fgets(array, sizeof(array)-1, stdin);

... = justalpha_hasvowel(array);
if(...) {
printf("Word is valid\n");
} else {
printf ("Word is not valid.");
}
return 0;
}

关于c - 如何修复我的 C 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17900375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com