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

数组的不确定长度输入

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

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;
}



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

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

分享给朋友:

相关文章

【初级篇】求最大公约数的方法

1.辗转相除法int gcd(int a,int b)  {       if(a%b==0...

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

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

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

c++ 如何用链表存取数据

c++ 如何用链表存取数据

由于单链表的每个结点都有一个数据域和一个指针域。所以,每个结点可以定义成一个记录。其中,DATA数据元素,可以为你想要储存的任何数据格式,可以是数组,可以是int,甚至可以是结构体(这就是传说中的结构...

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

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

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

质数(素数)的判断

一、定义法// 1 定义法(除了1和他本身之外,没有任何一个数能被整除)(试除法) bool is_prime3(unsigned long lon...

一笔画问题

【题目描述】如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历;找欧拉路,则对一个奇点执行...