C++如何输入数组?菜鸟:c++中怎么打印出数组啊
本文目录
- C++如何输入数组
- 菜鸟:c++中怎么打印出数组啊
- C++的数组传参问题
- C++中数组大小怎么计算
- c++中有几种方法定义数组
- c++如何输入数组
- c++数组逆置编程
- 在C++如何定义并使用数组
- C++如何输出数组内容
- C++ 怎么声明一个整型数组
C++如何输入数组
正确代码如下:
#include《iostream》
using namespace std;
int main()
{
int i;
cout《《"please put number in it:";
int a; /* i是随机值*/
for(i = 0; i 《 20; i++)
{
cin》》a;
}
for(int n = 0; n 《 i; n++) {
cout《《a;
}
return 0;
}
扩展资料:
编译 & 执行 C++ 程序方法:
1、打开vs2010,选择"visual c++开发设置",然后点击"启动Visual Studio"。
2、"Visual Studio"选择默认环境设置。
3、进入"Visual Studio"后点击新建项目。
4、在弹出窗口选择 Visual C++标签下的空项目,输入名称以及保存位置。
5、在左侧的"解决方案资源管理器"中,选择"源文件"右击,然后选择"添加"-》"新建项"。
6、在弹出窗口中,选择"C++文件(.cpp)",输入文件名称,单击"添加"。
7、现在输入具体的代码,例如输入简单的Hello World程序。
8、依次单击"调试"-》"开始执行(不调试)"或按Ctrl+F5开始运行。
菜鸟:c++中怎么打印出数组啊
1、首先需要使打开vs2010编译器,新建一个项目。
2、然后需要按照图示代码包含头文件。
3、然后需要按照图示代码输入main函数。
4、然后需要按照图示代码定义一个int数组。
5、然后需要按照图示代码定义一个int变量i。
6、然后需要按照图示代码使用while语句打印数组。
C++的数组传参问题
本来想写一个工具函数库,其中包含一个获取数组长度的方法,很简单的sizeof(),但是踩到了坑。
在main()函数中对赋值的数组直接调用这个函数得到的数据是正确的。而如果将数组直接以参数的方式传给调用的另外一个函数,并在此函数中获取数组的长度,程序计算出的数据只有整个数组的第一个元素的长度。
原来c++中通过函数的参数的方法传送的数组数据,只包含该数组的首个元素(的地址),也就是说,在获取参数的函数看来,这个参数只有一个元素,而非一长串的数组。
但是因为数据类型还是数组,我们直接通过下标操作数组的方法还是没有问题的。
我们可以在定义函数时,在参数的类型名后面加上一个取地址符“&”(int function(string &a)),在调用函数时可以使用指针“*a”(function(*a))。现在我们可以在函数定义的位置下功夫了。
在该函数中 cout《《a; 输出的是a数组的首地址,这里a代表的就是这个地址,cout《《*a; 输出的是数组的首个元素的数据,*a是一个指向数组首个元素的指针,因此我们使用a++即可将指针向下一个元素的地址。
其实这个方法没有卵用,因为没有解决我的上述问题。
函数定义:function(string &a){}
函数调用:function(*a);
函数定义:function(string a){}
函数调用:function(a);
传入数组(以上两种方法均可),再将数组长度传给调用的函数,也就是说,在调用的函数外面就将数组的size问题解决掉,应该就不成问题了。
C++中数组大小怎么计算
C++中数组的大小可以通过sizeof运算符来进行计算得到。
例如:对于数组V,通过sizeof(V)可以得到数组V的大小。
通过
sezeof(V)/sizeof(V)
可以计算得到数组V中元素的个数。
例如:V
=
{1,2,3,4,5};
num
=
sizeof(V)
/
sizeof(V);
得到的num值就是数组V中元素的个数。
c++中有几种方法定义数组
一、一维数组
静态 int array; 定义了数组array,并未对数组进行初始化
静态 int array = {1,2}; 定义并初始化了数组array
动态 int* array = new intarray; 分配了长度为100的数组array
动态 int* array = new intarray; 为长度为100的数组array初始化前两元素
二、二维数组
静态 int array; 定义了数组,并未初始化
静态 int array
动态 int (*array)array;
动态 int** array = new int*array; 多次析构
动态 int* array = new intarray; 数组按行存储
三、**数组
int* array = new int; 只有第一维可以是变量,其他维数必须是常量,否则会报错
delete array; 必须进行内存释放,否则内存将泄漏
四、数组作为函数形参传递
一维数组传递:
void func(int** array);
void func(int (*array));
二维数组传递:
void func(int* array);
void func(int array);
数组名作为函数形参时,在函数体内,其失去了本身的内涵,仅仅只是一个指针,而且在其失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等操作,可以被修改。
五、字符数组
char类型的数组被**字符数组,在字符数组中最后一位为转移字符’\0’(也被成为空字符),该字符表示字符串已结束。在C++中定义了string类,在Visual C++中定义了Cstring类。
字符串中每一个字符占用一个字节,再加上最后一个空字符。如:
char array = "cnblogs";
虽然只有7个字节,但是字符串长度为8个字节。
也可以不用定义字符串长度,如:char array = "cnblogs";
c++如何输入数组
c++如何输入数组?在C语言中,有两个函数可以让用户从键盘上输入数组数据,它们分别是gets()和scanf()。scanf()是通过格式控制符%s输入数组字符串,除了字符串,还能输入其他类型的数据;gets()是直接输入数组字符串,并且只能输入字符串。
但是,scanf()和gets()是有区别的。
scanf()读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。
gets()认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格,只要不按下回车键,对 gets() 来说就是一个完整的字符串。换句话说,gets() 用来读取一整行字符串。
举个例子:
#include 《*****》
int main(){
char str1 = {0};
char str2 = {0};
char str3 = {0};
//gets() 用法
printf("Input a string: ");
gets(str1);
//scanf() 用法
printf("Input a string: ");
scanf("%s", str2);
scanf("%s", str3);
//分别输出
printf("\nstr1: %s\n", str1);
printf("str2: %s\n", str2);
printf("str3: %s\n", str3);
return 0;
}
运行结果:
Input a string: C C++ Java Python
Input a string: PHP JavaScript
str1: C C++ Java Python
str2: PHP
str3: JavaScript
第一次输入的字符串被 gets() 全部读取,并存入 str1 中。第二次输入的字符串,前半部分被第一个 scanf() 读取并存入 str2 中,后半部分被第二个 scanf() 读取并存入 str3 中。
注意,scanf() 在读取数据时需要的是数据的地址,这一点是恒定不变的,所以对于 int、char、float 等类型的变量都要在前边添加&以获取它们的地址。但是在本段代码中,我们只给出了字符串的名字,却没有在前边添加&,这是为什么呢?因为字符串名字或者数组名字在使用的过程中一般都会转换为地址,所以再添加&就是多此一举,甚至会导致错误了。
就目前学到的知识而言,int、char、float 等类型的变量用于 scanf() 时都要在前面添加&,而数组或者字符串用于 scanf() 时不用添加&,它们本身就会转换为地址。读者一定要谨记这一点。
至于数组名字(字符串名字)和地址的转换细节,以及数组名字什么时候会转换为地址。
以上就是c语言数组怎么输入?的详细内容,更多请关注php中文网其它相关文章!
c++数组逆置编程
#include 《*****》
#define ARR_LEN 20
static int ReverseArray(int arr, int n);
main()
{
int arr;
int i,n;
printf("input array data ...\n");
n = 0;
while (n 《 ARR_LEN) {
scanf("%d",&arr);
n++;
if(getchar() == ’\n’) break;
}
printf("reversing ... \n");
ReverseArray(arr,n);
for (i=0;i《n;i++) {
printf("%d ",arr);
}
printf("\n");
}
static int ReverseArray(int arr, int n)
{
int temp;
int i;
for (i=0;i《n/2;i++) {
temp = arr;
arr;
arr = temp;
}
return 0;
}
数组个数不确定到底要怎么编程啊: 用malloc函数动态申请数组空间,要实现,我就补上。
/*
* C program on turbo c ***
* ------------------------
*/
#include 《*****》
#include 《*****》
#define ARR_LEN 2
static int ReverseArray(char arr, int n);
main()
{
char *arr;
int arr_size;
int arr_len;
int i;
char ch;
arr = (char*)malloc(ARR_LEN *sizeof(char));
if (arr == NULL) exit(-1);
arr_size = ARR_LEN;
arr_len = 0;
while ((ch=getchar()) != ’\n’) {/* 输入字符数据(包括非回车符的所以字符,当然包括空格符了),以回车结束 */
if (arr_len 》= arr_size - 1 ) {
arr = (char*)realloc(arr,(arr_size + ARR_LEN)*sizeof(char));
if (arr == NULL) exit(-1);
arr_size += ARR_LEN;
}
arr = ch;
}
arr = ’\0’;
printf("Reverse order...\n"); /* 逆序输出 */
ReverseArray(arr,arr_len);
for (i=0;i《arr_len;i++) {
printf("%c",arr);
}
printf("\n");
****(arr);
getch();
}
static int ReverseArray(char arr, int n)
{
char temp;
int i;
for (i=0;i《n/2;i++) {
temp = arr;
arr;
arr = temp;
}
return 0;
}
在C++如何定义并使用数组
材料\工具
电脑
方法如下
1、首先使用“String”,定义一个长度为6的字符串数组。
2、接着使用“int”,定义一个长度为6的整型数组,如下图所示:
3、使用“String{"a","b","c"}”定义长度为3的字符串数组,如下:
4、最后使用“int{0,1,2,3}”定义一个长度为4的整型数组,如下图所示:
C++如何输出数组内容
可以取出数组元素,然后输出每个元素就可以了。
比如一维数组a,可以用a的方式取出第i个元素,i被称为元素的下标。
如果是二维数组a,可以用a的方式取出第i行的第j个元素。
C语言的下标最小值为0,最大值为(数组规模-1)。
以下是一维整型数组输出的样例代码:
#include 《iostream》
using namespace std;
int main()
{
int a = {1,2,3,4};
int i;
for(i = 0; i 《 4; i ++)//下标循环,从0到3.
cout《《 a 《《 endl; //输出数组元素值,每行一个。
}
这个代码的输出为
1
2
3
4
C++ 怎么声明一个整型数组
定义方式与C语言相同,直接:int a即可,N为数组的大小数值。
示例如下,假设N为5,并初始化数组为0
更多文章:
android sdk包下载(想在谷歌android官网上下载sdk可是下不啦,怎么办)
2026年5月7日 18:20
c++17代码整洁之道(有哪些值得推荐的 C++ 技术博客)
2026年5月7日 17:40
sqlserver企业版价格(正版sqlserver2016多少钱)
2026年5月7日 17:20







