- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的程序应该计算输入字符串中元音、辅音、数字和空格的数量。它只计算位数。请帮忙。
#include<iostream>
using namespace std;
void counter(char string[], int count[]){
int check_letter, check_digit, check_space;
for(int i = 0; i < 99; i++){
check_letter = isalpha(string[i]);
if(check_letter == 1){
string[i] = tolower(string[i]);
if(string[i] == 'a' || string[i] == 'e' || string[i] == 'i' ||
string[i] == 'o' || string[i] == 'u'){
count[0] = count[0] + 1;
} else{
count[1] = count[1] + 1;
}
}
check_digit = isdigit(string[i]);
if (check_digit == 1){
count[2] = count[2] + 1;
}
check_space = isspace(string[i]);
if(check_space == 1){
count[3] = count[3] + 1;
}
}
}
main(){
char string[100] = {};
int count[4] = {};
cout << "Please enter a string: ";
cin.get(string, 100);
cin.get();
cout << string;
counter(string, count);
cout << "There are " << count[0] << " vowels.\nThere are " << count[1] <<
" consonants.\nThere are " << count[2] << " digits.\nThere are " <<
count[3] << " spaces.";
}
最佳答案
您的问题是假设 isalpha
、isdigit
等在匹配时返回 1
:他们的文档说他们返回非零“true”的值和“false”的零值。
例如,来自std::isalpha docs here :
Return value
Non-zero value if the character is an alphabetic character, zero otherwise.
如果您将结果存储在 bool
中,或者直接在 bool 上下文中测试它们(例如 if (...)
条件,那么转换将是为您完成。
关于c++ - isspace 和 isalpha 不算数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34126779/
我正在构建一个包含 cuda 代码的 cmake 项目。我无法编译包含多个 h 文件的 cuda 文件之一。这是我收到的编译器错误 In file included from /usr/include
我最近想找到一种使用 STL 修剪字符串的方法。我看到有人用 remove_if(str.begin(), str.end(), isspace); 我找到了 isspace是STL中的一个函数,he
为什么大多数 C++ 编译器都能够推断出 ::isspace 的类型并将其隐式转换为 std::function,但它们却不能这样做对于 std::isspace? 请参阅the following不
这可能是我的代码不起作用,但任何空白字符(\n、\t、\r 等)都不会转换为空格“”。据我所知,它看起来应该可以工作,但每次遇到新行时都会出现段错误。 编辑:抱歉,它确实将空白字符更改为“”,但它在新
我是新手,目前正在学习 C++。我目前正在学习 cctype(ctype) 中的字符函数。我无法理解为什么 isspace(a_character) 没有返回我的 cout 消息——问题是它甚至不接受
救命啊!由于某种原因,我的函数没有识别所有数据集上的空格。见下文: 我在代码中使用以下函数: function [ll]=f_get_length(A) l1=length(A); for ii
如何让 while 函数在 i 位置为空格时停止? #include #include #include #include int main () { int i,t; cha
我正在为我的程序开发一个函数,该函数从文本文件中读取名字和姓氏并将它们保存为两个字符串。但是,当 for 循环到达名字和姓氏之间的第一个空格时,我无法让 if(isspace(next)) 语句执行。
我试图为我的个人实验覆盖 isspace() 的功能,所以我试图导航到它的原始来源。我在以下实现中登陆了 builtins.py: def isspace(self): # real signatur
str.isspace()非常方便地检查一行是否为空(它包含空格和返回字符)。 是否可以使用其他一些字符(例如逗号)进行扩展,这些字符在检查期间也应被视为“空格字符”? 最佳答案 无法扩展 str.i
我正在编写一个程序来计算文本文件中空白字符的数量。我用“isspace”来计算它。文本文件中的内容是“1 1 1”,但是计数器还是0,代码有什么问题吗? #include "stdafx.h" #in
我正在尝试编写一个函数,该函数返回指向字符串 s 中指针 p 之后的第一个空白字符的指针,指针 p 指向 s 中的一个字符。如果没有空白字符,它应该返回空字符\0。 现在我遇到的问题是,我对这个问题的
我试图返回是或否答案来显示字符串是否包含空格或字母。粗体部分是我需要纠正的部分。我得到了其他部分... 这是我输入的内容,但效果不正确... if (string.isalpha() and stri
我一直在寻找一种删除前导空格的标准方法,并且我发现了一种使用指针和 isspace() 的非常简单的方法。 ,但是我们的教授不允许我们使用 图书馆。下面的方法可行吗? char LeadingSpac
我的程序应该计算输入字符串中元音、辅音、数字和空格的数量。它只计算位数。请帮忙。 #include using namespace std; void counter(char string[], i
在我的代码中: cout << "Isspace 5 and 10 are " << isspace(5) << " and " << isspace(10) << endl; 给出 0 和 8。为什
这个问题在这里已经有了答案: How to cin Space in c++? (8 个答案) 关闭 9 年前。 可能这已被问过 100 次,但我找不到或无法提供解决方案。一切(据我测试)都被识别,
我几乎完成了我的代码,但我无法弄清楚两件事。 首先,我希望能够说“您没有输入任何内容!”如果有人在程序开头输入的字符串中输入零个字符,则结束程序。 此外,在中间我无法弄清楚如何一起使用 isalpha
我这里有这个练习。当我输入一个包含多个空格的句子时,我希望它能告诉我那个数字。但是,它只会说 0 个空格。我是否犯了一个愚蠢的小错误? #include #include #define COUN
我有以下函数返回字符串中的空格, char *rtrim(char *l_ptr) { char *lptr = l_ptr + strlen(l_ptr) - 1; for (; l
我是一名优秀的程序员,十分优秀!