C++ 如何忽略除第一个字符以外的所有字符? #包括 使用名称空间std; int main() { 字符字母; while(cin>>信函) { 开关(字母) { 案例“a”: cout

C++ 如何忽略除第一个字符以外的所有字符? #包括 使用名称空间std; int main() { 字符字母; while(cin>>信函) { 开关(字母) { 案例“a”: cout,c++,C++,读取一个字符串,然后打开第一个字符。像这样 #include <iostream> using namespace std; int main () { char letter; while (cin>>letter) { switch (letter) { case 'a': cout<<"ant"<<endl;

读取一个字符串,然后打开第一个字符。像这样

#include <iostream>    
using namespace std;

int main ()
{
    char letter;
    while (cin>>letter)
    {
        switch (letter)
        {
            case 'a':
                cout<<"ant"<<endl;
                break;
            default :
                cout <<"enter only lower cases letters "<<endl;
        }
    }
    return 0;
}
int main(){
字符串字;
while(cin>>word){
开关(字[0]){
案例“a”:

cout读取一个字符串,然后打开第一个字符。像这样

#include <iostream>    
using namespace std;

int main ()
{
    char letter;
    while (cin>>letter)
    {
        switch (letter)
        {
            case 'a':
                cout<<"ant"<<endl;
                break;
            default :
                cout <<"enter only lower cases letters "<<endl;
        }
    }
    return 0;
}
int main(){
字符串字;
while(cin>>word){
开关(字[0]){
案例“a”:

不能反复阅读字符并跟踪添加的内容

int main () {
    string word;
    while (cin >> word) {
        switch (word[0]) {
        case 'a':
            cout << "ant" << endl;
            break;
        default:
            cout << "enter only lower cases letters " << endl;
            break;
        }
    }
    return 0;
}
#包括
int main(){
字符字母;
std::使用的集合;
while(cin>>信函){
if(!used.insert(letter)[1])//note返回一对;如果第二项([1])以前不存在,则为true
继续;
开关(字母){
案例“a”:

不能反复阅读字符并跟踪添加的内容

int main () {
    string word;
    while (cin >> word) {
        switch (word[0]) {
        case 'a':
            cout << "ant" << endl;
            break;
        default:
            cout << "enter only lower cases letters " << endl;
            break;
        }
    }
    return 0;
}
#包括
int main(){
字符字母;
std::使用的集合;
while(cin>>信函){
if(!used.insert(letter)[1])//note返回一对;如果第二项([1])以前不存在,则为true
继续;
开关(字母){
案例“a”:

cout您可以将用户输入视为一个
std::string
,然后只查看其中的第一个字符作为switch语句。这将忽略用户在第一个字符之后输入的任何内容。我无法想象这种情况的使用情况,但我相信这正是您所要求的

#include <set>

int main () {
    char letter;
    std::set<char> used;
    while (cin >> letter) {
        if (!used.insert(letter)[1])   // note returns a pair; 2nd item ([1]) is true if it didn't exist before
            continue;
        switch (letter) {
        case 'a':
            cout << "ant" << endl;
            break;
        default:
            cout << "enter only lower cases letters " << endl;
            break;
        }
    }
    return 0;
}
#包括
#包括
int main(int argc,char*argv[])
{
字符串字;
while(std::cin>>word)
{
字符字母=单词[0];
开关(字母)
{
案例“a”:

std::cout您可以将用户输入视为一个
std::string
,然后只查看其中的第一个字符作为switch语句。这将忽略用户输入在第一个字符之后的任何内容。我无法想象这样做的用例,但我相信这就是您所要求的

#include <set>

int main () {
    char letter;
    std::set<char> used;
    while (cin >> letter) {
        if (!used.insert(letter)[1])   // note returns a pair; 2nd item ([1]) is true if it didn't exist before
            continue;
        switch (letter) {
        case 'a':
            cout << "ant" << endl;
            break;
        default:
            cout << "enter only lower cases letters " << endl;
            break;
        }
    }
    return 0;
}
#包括
#包括
int main(int argc,char*argv[])
{
字符串字;
while(std::cin>>word)
{
字符字母=单词[0];
开关(字母)
{
案例“a”:

std::cout只保存第一个字符

#include <cstdlib>
#include <iostream>

int main( int argc, char *argv[] )
{
    std::string word;
    while (std::cin >> word)
    {
        char letter = word[0];
        switch (letter)
        {
            case 'a':
                std::cout << "ant" << std::endl;
                break;
            default:
                std::cout << "please enter only lower case letters" << std::endl;
                break;
        }
    }
    return EXIT_SUCCESS;
}

只保存第一个字符

#include <cstdlib>
#include <iostream>

int main( int argc, char *argv[] )
{
    std::string word;
    while (std::cin >> word)
    {
        char letter = word[0];
        switch (letter)
        {
            case 'a':
                std::cout << "ant" << std::endl;
                break;
            default:
                std::cout << "please enter only lower case letters" << std::endl;
                break;
        }
    }
    return EXIT_SUCCESS;
}

你可以去掉while循环?我希望你明白我的问题我不认为so@UKMonkey不,你不明白我的意思,我应该写一个程序,当我输入任何字母时,它会显示一个以该字母开头的单词,所以我想去掉第一个字符旁边的所有字符。所以当我输入aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaays ant。你为什么要写一个这样的程序?这毫无意义。@LightnessRacesinOrbit:但是Facebook也没有。你可以删除while循环?我希望你明白我的问题,我不认为so@UKMonkey不,你不明白我的意思,我应该写一个程序,当我输入任何字母时,它会显示一个以该字母开头的单词,所以我nt删除第一个字符旁边的所有字符。所以当我输入aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa你。我应该包括一些库,因为它说getchar()没有在作用域中声明吗?我应该包括一些库,因为它说getchar()没有在作用域中声明吗?没错,但是你能告诉我int argc,char*argv[]有什么好处吗这些不是你的程序所必需的,但是 Agv和 ARC<<代码>是C++中如何将命令行参数传递给<代码>主()/<代码>“
argc
变量将是由
argv
指向的字符串数。如果您的程序中有命令行选项,这就是您所使用的。没错,但是您能告诉我int-argc,char*argv[]有什么好处吗?”这些不是你的程序所必需的,但是<代码> ARGV 和 ARC是命令行参数如何传递到C++(和C)中的<代码>()和代码>。<代码> ARC> < /C>变量是由代码> AGV 指向的字符串的数目。如果你曾经对程序有命令行选项,那就是你所使用的。