在c ++中输入n个空格分隔的整数

Posted

技术标签:

【中文标题】在c ++中输入n个空格分隔的整数【英文标题】:Input n space separated integer in c++ 【发布时间】:2019-06-08 18:54:38 【问题描述】:

在这种情况下,通常我们以字符串形式输入,但我们将如何确保 字符串将仅包含 N 个整数不超过? 输入格式 第 1 行:整数 n . 第 2 行:n 天的价格(以空格分隔)。它可以包含重复值。

【问题讨论】:

从字符串中读取 N 个整数,然后尝试再读取一个。你应该得到一个“文件结束”失败。 你的意思是什么?我的评论仍然适用。尝试读取比您预期的多一个整数,最后一次读取应该失败。那是你的考验。 "通常我们在...中输入字符串" - 您可以编辑它以使其成为您的个人问题吗?此外,您还提出了一个 C++ 问题:您的 minimal reproducible example 无法编译。 @Visluck 我一直在告诉你一个可能的答案。你不喜欢它的什么地方? @TedLyngmo 我是堆栈溢出的新手,将来我会确保标签是合适的。给您带来的不便深表歉意。 【参考方案1】:
#include <stdio.h>
 int main()
 
  int n;
  char a;
  printf("How many digit you want to take???");
  scanf("%d", &n);
  scanf("%c", &a);
  char name[2*n];
  printf("Enter Numbers");
  fgets(name,2*n,stdin);
  printf("You Entered :: %s",name);
  return(0);
 

即使你输入超过 n 个数字,它的数组也不会存储。您始终可以使用 strlen(name) [from String.h] 来获取 char 数组的长度以进行特殊调节

【讨论】:

以上是关于在c ++中输入n个空格分隔的整数的主要内容,如果未能解决你的问题,请参考以下文章

查找整数

查找整数

查找整数

查找整数

查找整数

查找整数