cin内置函数之get讲解加练习

余生很长,认准一件事,坚持一件事,做成一件事,大胆尝试余下所有的事。

get函数是内置在cin中的一个函数,可以读取任何字符,通过Enter键继续读取下一个字符串(无保存)

以下代码源于此网站  http://c.biancheng.net/view/1346.html
  1. // This program demonstrates three ways to use cin.get()
  2. // to pause a program.
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. char ch;
  9. cout << "This program has paused. Press Enter to continue.";
  10. cin.get(ch);
  11. cout << "It has paused a second time. Please press Enter again."; ch = cin.get();
  12. cout << "It has paused a third time. Please press Enter again.";
  13. cin.get();
  14. cout << "Thank you! \n";
  15. return 0;
  16. }

在统计一个乱打的字符串中有多少个字母、数字。空格和其他字符时,用cin.get函数

cin 与cin.get之间有啥区别呢?

cin在遇到换行符时会停止,不继续读入下一个从键盘输入的数据;

cin.get遇到换行符时会读取换行符,所以不需要等待用户输入

简单来讲就是cin.get可以直接从键盘接收到数据,不需要用cin>>这样在程序中还得重新指示它让它找到位置准备接受用户的输入

-------------------------------------

那么接下来这道题就很简单了:

统计一个乱打的字符串中的字母数、数字数、空格数以及其他符号数。

可以用一个数组直接记录四种不同类型字符出现的数目,然后用if判断语句,和递加操作来记录次数。

#include<iostream>
using namespace std;
int main(){
    int m[4]={0,0,0,0};
    char ch;
    cin.get(ch);
    while(ch!='\n'){
        if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')m[0]++;
        else if(ch>='0'&&ch<='9')m[1]++;
        else if(ch==' ')m[2]++;
        else m[3]++;
        cin.get(ch);
    }
    for (int i=0;i<=3;i++){
        cout<<m[i]<<" ";
    }
    cout<<endl;
    return 0;
}

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: `cin.get()` 是 C++ 的标准输入流中的一个函数,用于从标准输入设备(通常是键盘)读取一个字符。与 `cin` 不同的是,它会读取空格、制表符和换行符等空白字符,而不会将其视为输入结束。`cin.get()` 可以接受一个参数,表示从输入中读取的最大字符数,如果没有指定,则默认为 1。读取的字符会被存储在指定的字符变量中,如果没有指定,则默认存储在一个匿名字符变量中。`cin.get()` 函数的返回值为读取的字符,如果读取失败或到达输入流的末尾,则返回 EOF。 ### 回答2: `cin.get()`函数是C++中的输入流函数之一,用于从标准输入设备(通常是键盘)读取一个字符,并将其存储在变量中。与其他输入函数不同的是,`cin.get()`函数会读取输入中的换行符('\n')和空格等字符,因此它可以用于获取包含空格的字符串。 `cin.get()`函数的用法非常简单,只需要在函数后面上一对圆括号即可。例如,`char ch = cin.get();`就表示从输入设备中读取一个字符,并将其存储在变量`ch`中。如果需要获取多个字符,可以使用循环语句来重复调用`cin.get()`函数。 需要注意的是,`cin.get()`函数不会自动忽略输入中的换行符和空格等字符,所以如果需要去除这些字符,可以使用`cin.ignore()`函数来清除输入缓冲区中的多余字符。 另外,`cin.get()`函数也可以接受参数,表示限制读取字符的个数。例如,`char str[100]; cin.get(str, 100);`表示从输入中读取最多100个字符,并将其存储在字符数组`str`中。如果输入中字符的个数超过了限制,多余的字符将留在输入缓冲区中。 总结来说,`cin.get()`函数是一个用于从标准输入设备读取字符的函数,可以获取包括空格在内的字符串。它的使用非常简单,但需要注意处理输入缓冲区中的多余字符。 ### 回答3: cin.get()函数是C++中用于从输入流中读取一个字符的函数。它是iostream库中的一个成员函数,可以用来读取来自键盘或者其他输入设备的字符。 cin.get()函数的基本用法是在括号中不传入任何参数。它会读取输入流中的下一个字符,并将其返回。我们可以将其赋值给一个字符变量,以便在后续的程序中使用。 需要注意的是,cin.get()函数读取的字符包括所有有效字符,即可见字符和空格字符,但不包括换行符。如果需要读取换行符,可以使用cin.get()函数的重载版本,传入一个参数,将换行符也包括在内。 另外,cin.get()函数还可以读取指定数量的字符。在括号中传入一个整数参数n,表示要读取的字符数量。cin.get()函数将读取n个字符,并将其存储到一个字符数组中。 需要注意的是,如果在输入流中没有足够的字符供cin.get()函数读取,则函数将等待用户输入足够的字符。也就是说,cin.get()函数会阻塞程序的执行,直到满足读取字符的条件。 总结起来,cin.get()函数是C++中用于从输入流中读取字符的函数。它可以读取单个字符或者指定数量的字符,并将其返回或者存储到字符数组中。但需要注意的是,在使用cin.get()函数时,要确保输入流中有足够的字符供其读取,否则将导致程序阻塞。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小菜鸡变形记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值