当前位置:首页 > C++目录 > 正文内容

数组的不确定长度输入

亿万年的星光5年前 (2021-02-06)C++目录2582

0.前言

我们在学习数组的时候一般都会告诉你数组的长度,然后for循环去遍历。但是有一类问题是没有n的,也就是没有告诉长度的。


1.方法


第一种:(数组)

#include<iostream>
#include<cstdio>
using namespace std;
int main() {
	int a[100];
	int t=0;
	int n;
	while(scanf("%d",&n)!=EOF) {
		a[t]=n;
		t++;
	}
	for(int i=0; i<t; i++) {

		cout<<a[i]<<" ";
	}
}
//按ctrl+z 停止


第二种:字符数组

#include<iostream>
#include<cstdio>
using namespace std;
int main() {

	char str[10001]; //字符数组
	while(cin>>str) { //不确定长度
		
	}
	cout<<str;
	return 0;
}


第三种:(数组)

#include<cstdio>
#include<iostream>

using namespace std;
int main(){
	int arr[1001];
	int k=0;
	while(cin>>arr[k]){
		k++;
	}
	for(int i=0;i<k;i++){
		cout<<arr[i]<<" ";
	}
	return 0;
}



扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

最小生成树—Kruskal(克鲁斯卡尔)算法

最小生成树—Kruskal(克鲁斯卡尔)算法

一、算法描述在一个连通加权无向图中,找到一棵最小生成树。即,找到连接所有顶点的、权值总和最小的树,且树中不包含任何环。二、核心思想贪心策略:每次从未选择的边中,选取一条权值最小的边。避免环路:如果加入...

【算法】扩展欧几里得算法

一、欧几里得算法我们前面学过求最大公约数的算法:欧几里得算法(又叫辗转相除法) ,一般缩写是gcd,在C++中经常写成如下形式:int gcd(int a,int b)...

STL入门——容器2:set

一、简单介绍    set是STL中一个很有用的容器,用来存储同一种数据类型的数据结构(可以称之为K的模型),基本功能与数组相似。set与数组不同的是,在set...

【算法】前缀和与差分(3)二维数组前缀和

【算法】前缀和与差分(3)二维数组前缀和

0.前言前面的一篇文章,介绍了一维数组的前缀和,这篇文章中,介绍一下二维数组的前缀和1.定义二维数组的前缀和就是按照二维数组求和。公式如下:那二维前缀和中一个f[i][j]表示的意思就是以(1,1)为...

图的访问与遍历-广度优先搜索

对于无向图的广度优先搜索#include <iostream> #include <vector> #include <queue>...

【数论】组合数学—容斥原理

【数论】组合数学—容斥原理

概念在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重...