- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试计算一个字符串中有多少个元音/辅音/数字/其他符号。
#include <stdio.h>
#include <string.h>
int main(void)
{
int cons = 0, vow = 0, num = 0, oth = 0;
int i, length;
char str[100];
printf("Input a string with no space : ");
scanf("%s", &str);
printf("=====================================\n");
length = strlen(str);
for(i = 0; i < length; i++)
{
switch(str)
{
case 'a': case 'e': case 'i': case 'o': case 'u': case 'y': case 'A':
case 'E': case 'I': case 'O': case 'U': case 'Y':
vow++;
break;
case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'j':
case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r':
case 's': case 't': case 'v': case 'w': case 'x': case 'z':
case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'J':
case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R':
case 'S': case 'T': case 'V': case 'W': case 'X': case 'Z':
cons++;
break;
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8:
case 9:
num++;
break;
default:
oth++;
break;
}
}
printf("%s\n", str);
printf("Number of consonants: %d\n", cons);
printf("Number of vowels: %d\n", vow);
printf("Number of numbers: %d\n", num);
printf("Number of other symbols: %d\n", oth);
}
我知道我的问题缺少我的“开关”,但我真的不知道该放什么。我是否应该输入字符串名称之外的其他内容?
最佳答案
访问 C 字符串中所有字符的常用方法有两种:
str[i]
strlen
调用。这是第二种方法的样子:
for (char* p = str ; *p != '\0' ; p++) {
switch (*p) {
...
}
}
请注意,length
和索引 i
不再是必需的,因为当指针 p
到达空终止符时循环将终止。
另请注意 scanf("%s", &str);
不安全 - 您需要告诉 scanf
您的缓冲区有多大:
int numScanned = scanf("%99s", str);
这将防止缓冲区溢出。请注意 99
用于 100
-char 缓冲区:这样做是为了为空终止符保留一个 char
。另请注意,您不应将 &
放在 str
的前面,因为在调用函数时,数组已被视为指针。
您应该检查 numScanned
是否等于 1
以检测 scanf
中可能出现的故障。
关于c++ - 计算字符串中的元音、辅音、数字和其他符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26509125/
我试图在 haskell 上创建一个函数,我知道该函数的定义如下: justWithA : [Char] -> Bool justWithA [] = True justWithA (x:xs) |
我试图在 haskell 上创建一个函数,我知道该函数的定义如下: justWithA : [Char] -> Bool justWithA [] = True justWithA (x:xs) |
我正在尝试计算字符串中元音的总数。我正在使用 strlen 来获取字符串的总长度,但是当我尝试按每个字母对字符串进行计数时,它说 C++ 禁止比较。所以我假设我的 if 语句有问题。 #include
Task You are given a string . It consists of alphanumeric characters, spaces and symbols(+,-). Your
我刚刚开始用 C 语言编程,我必须创建一个程序来计算字符串有多少个元音。到目前为止我有这个: int a; int len = strlen(text)-1 for(a=0;a==len;++a){
尝试学习 Python 中的正则表达式以查找具有连续元音-辅音或辅音-元音组合的单词。我将如何在正则表达式中执行此操作?如果无法在 Regex 中完成,是否有一种在 Python 中执行此操作的有效方
我想输入 dagger-alif、dagger-waw 和 dagger-ya(也称为微型 alif、微型哇和微型 ya)作为 alif-wasla 使用 PC 阿拉伯语键盘。这些标记被使用帮助读者发
我正在尝试创建一个将文件上传到 FTP 服务器的批处理文件。除了一个特定文件夹的名称中包含突变/元音外,一切正常(无法更改。也就是文件夹名称中包含 ö。)。 我的问题是:有哪些选择可以实现这一目标?
我是一名优秀的程序员,十分优秀!