[C语言]怎么把一段输入转换为数组

输入分两行,第一行是一个数组长度,比如:"6"
第二行要输入数组内容,一空格分开,比如:"12 31 11 4 21 16"
程序要建一个数组,a[6],让a[6]={12,31,11,4,21,16};

如果这个比较难,可以建一个固定长度的数组,比如a[50],然后让前6项等于{12,31,11,4,21,16}

#include <stdio.h>
#include <stdlib.h>

int main ()
{
int n, i;
int *a;
scanf ("%d", &n); /*读入n*/
a = (int*) malloc (sizeof(int)*n); /*申请n整数的空间*/
for (i = 0; i < n; i ++) /*依次读入每一个元素*/
scanf ("%d", &a[i]);
.
. /*其他代码,比如对a的引用之类的*/
.
.
free (a); /*最后要释放空间*/

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-12
正如你所说的,对于这种情况,首先就是开一个比较大的数组,然后再输入数组的长度.
代码:

#include<stdio.h>
void main()
{
int i,n,a[50];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
第2个回答  2009-08-13
#include <stdlib.h>
#include <stdio.h>
void main()
{
int nCount;
scanf("%d\n",&nCount);
int *Array = (int*)malloc(nCount);
for (int i = 0;i < nCount;++i) {
scanf("%d ",Array + i);
}
}
第3个回答  2009-08-12
纯C语法

#include <stdio.h>

int main()
{
int n;
scanf("%d", &n);
int arr[n];
int i;
for (i = 0; i < n; ++i)
{
scanf("%d", &arr[i]);
}
return 0;
}

字符串转换成数组
C语言中,有一种常见的操作是将字符串转换为数组。其中,gets函数起到了关键作用。这个函数的作用类似于一个字符输入流,允许你逐个读取字符串中的字符,并将它们存储在数组中。具体步骤如下:首先,你需要定义一个字符数组,这个数组的大小需要根据预期的字符串长度来确定,以预留足够的空间。例如,如果...

C语言怎么让键盘输入数字到数组里?
1、首先打开电脑的编辑软件。然后创建编辑项目。2、创建文件指针和字符型char。再读取文件内容。3、然后用for语句进行接受数据。再用getchar语句接受键盘的输入。4、然后用foput函数。再将数据写入到文件。5、然后用fclose函数关闭文件。再返回数值。6、运行程序,输入数值。再打开文件,就可以发现键盘输入...

C语言如何把输入进去的数放到数组中
1 先输入数值,在存放在数组的对应位置中,即赋值给对应元素。如 scanf("%d",&i);a[k] = i;就是先输入到变量i中,然后把i存储在a的第k个元素中。2 直接输入到数组对应元素中。如 scanf("%d",&a[k]);与1中的例子是相同效果,只是减少了中间变量的使用。

C语言,直接输入一串整数,两两用逗号分隔,怎么把它们赋给一个数组
int main() { int a[100];int i = 0;while(scanf("%d", &a[i++]) != EOF) {\/\/换行后再只能Ctrl+z 如 1,1,2 Enter Ctrl+z scanf(",");} i--;for(int j = 0; j < i; j++)printf("%d ", a[j]);system("pause");return 0;} ...

C语言中怎样把输入的字符串赋给数组
void main(){ char** pArrStr;\/\/用来保存字符串数组 int strLen;\/\/用来保存字符串长度 int i; printf("请输入字符数组的个数:");scanf("%d",&strLen);pArrStr=(char**)malloc(sizeof(char*)*strLen);\/\/动态开辟N个char*指针,然后给pArrStr保存 for(i=0;i<strLen;i++){ pArrStr[i]...

如何输入键盘数组c语言
方便在修改,也可直接定义为a[10];通过for循环依次将数据存入数组,键盘输入时数据之间以空格间隔。数据存入数组后可进行调用,这里以printf()函数调用输出为例,输出格式要记得加空格使数据隔开,避免数据连在一起。1.C语言如何把输入进去的数放到数组中includestdio.hvoidmain(){inta[3][3]...

c语言怎么输入字符串到一个数组
scanf("%s",s1);scanf("%s",s2);\/\/你不是用了两个输入吗,而在cmd下就是以空格来区分其参数的 \/\/不管是一个空格还是几个空格都一样

C语言里如何把输入字符串赋值给字符数组?
include <stdio.h> int main(){ char s[20];scanf("%s",s);printf("%s\\n",s);return 0;} 直接用scanf接收输入就可以复制给字符数组。

c语言中如何将一句话存入数组
若是从控制台输入,使用gets函数即可。把一句话话存入字符数组当中。使用形式:char *gets( char *str );gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。gets()函数读取到\\n(我们输入的回车)于是...

C语言如何把一行用空格隔开的字母存入数组?
include<stdio.h> int main(){ char s[300],s1[30][20]={0};int n=0,i,j;gets(s);for(i=j=0;s[i];i++){if(s[i]!=' ')s1[n][j++]=s[i];else if(s[i-1]!=' '){n++;j=0;} } for(i=0;i<=n;i++)puts(s1[i]);return 0;} ...

相似回答
大家正在搜