当前位置:   article > 正文

C++控制台输入

c++控制台输入

我们在刷牛客网的题目时,经常遇到多组输入,执行到文件结束,下面介绍几种写法

1、C语言的输入多个整数

  1. while(scanf("%d", &n) != EOF){ // 为End Of File的缩写,通常在文本的最后存在此字符表示资料结束
  2. /*
  3. code
  4. */
  5. }

2、C++输入字符串string

  1. int main()
  2. {
  3. string str;
  4. getline(cin, str)
  5. cout<< str<<endl;
  6. return 0;
  7. }

3、C++输入字符串char数组

  1. int main()
  2. {
  3. char str[100];
  4. while (gets(str))
  5. {
  6. cout << str;
  7. }
  8. return 0;
  9. }

4、 C++输入一组数据

  1. template<typename T>
  2. vector<T> ReadVector(int count) // 任意类型的数组
  3. {
  4. vector<T> result(count);
  5. for (int i = 0; i < count; i++)
  6. {
  7. cin >> result[i];
  8. }
  9. return result;
  10. }
  11. int main()
  12. {
  13. int num = 0;
  14. cin >> num;
  15. vector<string> res = ReadVector<string>(num);
  16. for (auto &row : res)
  17. {
  18. cout << row << " ";
  19. }
  20. return 0
  21. }

5、 输入回车,判断当前输入结束

  1. int main()
  2. {
  3. vector<int> result;
  4. int a;
  5. while (cin >> a)
  6. {
  7. result.push_back(a);
  8. if (getchar() == '\n')
  9. {
  10. break;
  11. }
  12. }
  13. int i = 0;
  14. while (result.size() > i)
  15. {
  16. cout << result[i++] << " ";
  17. }
  18. return 0;
  19. }

6、输入多个数据 

  1. char a;
  2. int b;
  3. float c;
  4. cin >> a >> b >> c;
  5. cout << a << " " << b << " " << c << " " << endl;

7、输入结构体

  1. typedef struct tgStudent
  2. {
  3. char name[100];
  4. int number;
  5. int score;
  6. }Student;
  7. int main() {
  8. int num;
  9. cin >> num;
  10. Student* studentList = new Student;
  11. for (size_t i = 0; i < num; i++)
  12. {
  13. cin >> studentList[i].name >> studentList[i].number >> studentList[i].score;
  14. }
  15. for (int j = 0; j < num; j++)
  16. {
  17. cout << studentList[j].name << " ";
  18. cout << studentList[j].number << " ";
  19. cout << studentList[j].score << " ";
  20. cout << endl;
  21. }
  22. }

8、输入字符串数组

  1. int g_row, g_col; //行、列数
  2. char waitWord[101] = { '\0' }; //待查找的单词
  3. char maze[100][21] = { {'\0'} }; //字母矩阵
  4. int main()
  5. {
  6. cin >> g_row >> g_col; //输入行、列数
  7. cin.get(); //去掉回车符
  8. cin.getline(waitWord, 100); //输入待查找的单词
  9. for (int i = 0; i < g_row; i++)
  10. {
  11. cin.getline(maze[i], 21); //输入字母矩阵
  12. }
  13. system("pause");
  14. return 0;
  15. }

注意:在终端中手动输入时,系统并不知道什么时候到达了所谓的“文件末尾”,必须输入以下字符才能结束输入:

  • 在 Windows 系统中,通过键盘输入时,按 Ctrl+Z 组合键后再按回车键,就代表输入结束。
  • 在 UNIX/Linux/Mac OS 系统中,Ctrl+D 代表输入结束。

参考:

C++ cin判断输入结束(读取结束)

C++ cin判断输入结束(读取结束)

c++输入问题:输入回车判断当前输入结束_Hello World程序员的博客-CSDN博客_c++回车结束输入

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/798264
推荐阅读