c语言中输入一个数组
Ⅰ c语言,在函数里要输入一个数组怎么办
用指针就可以了,如
定义有int a[5];
则这样定义函数:
int fun(int *p, int size)
{
//p为数组的首地址
//size为数组的大小
//传递进去后可以像操作a一样用下标操作p
//如p[0], p[4]...
}
传递参数给函数可以这样写:
fun(a, 5);
若是多维数组,则第一维大小不给出,只指定后面的维数大小,如:
定义有int a[5][2];
则这样定义函数:
int fun(int p[][2], int size)
{
//p为数组的首地址
//size为第一维的大小
//传递进去后可以像操作a一样用下标操作p
//如p[0][1], p[4][1]...
}
传递参数给函数可以这样写:
fun(a, 5);
Ⅱ C语言数组输入。。
C语言数组输入是相同类型的、数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式。数组属于一种构造类型,其中的变量被称为数组的元素。数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。
在引用数组中的元素时,采用数组名[下标]的方式,将其中的每一个元素视为一个普通的变量来进行操作。需要注意的是,因为定义的数组arr仅含有9个元素,所以在使用的过程中,下标值不能超过8,否则就会出现下标越界的错误。
(2)c语言中输入一个数组扩展阅读:
注意事项:
由于剩余的元素会自动初始化为 0,所以只需要给第 0 个元素赋值为 0 即可,只能给元素逐个赋值,不能给数组整体赋值。例如给 10 个元素全部赋值为 1。
注意指针变量的当前值:指针变量的值在程序运行过程中可能经常改变,要对此注意。
数组越界:C语言系统是不检查数组越界的,需要程序员自行检查。
Ⅲ C语言想输入一个数组,然后输出这个数组,这样为什么不行
数组a中有三个元素,即a[0],a[1],a[2];在输出的时候a[3]下标越界
要想输出数组中的所有元素,必须借助循环把数组中的元素逐个输出;例如:
main()
{
int
a[3]={1,2,3},i;
for(i=0;i<3;i++)
printf("%d",a[i]);
}
Ⅳ C语言如何输入一个m*n的数组,m、n都从键盘输入
1、定义所需变量,
数组a的大小必需事先估计,可以取较大的值,这里取20:
int
m,
n,
i,
j;
int
a[20][20];
2、先输入m和n,用scanf函数,代码如下:
printf("请输入m和n(m
<
20,
n
<
20):");
scanf("%d%d",
&m,
&n);
3、再输入数组,使用for循环,因为n是最大行数,所以先n放在外循环:
for(i
=
0;
i
<
n
;
i
++)
{
for(j
=
0;
j
<
m
;
j
++)
{
printf("请输入第%d行%d列的元素:
",
i
+
1,
j
+
1);
scanf("%d",
&a[i][j]);
}
}
Ⅳ C语言数组输入
自己把字符1
转为数字1不就可以了嘛。。又不是很难
=====================
为什么用字符数组?
楼主是要一次性输入,不是循环分开输入。。
你如果用数组数组,一次性输入一个数,会被存放在一个元素里面,不会分开。
还有纯数字的判别,麻烦点,楼主需要再说,我懒得写
================================
这样啊,那就用一个字符数组咯。。
代码稍后给你。。
一次性输入50个数字,每一个数字(10以下的数字)都会单独存放于一个数组元素
如果你要把两位数以上(10以上)存放在数组元素里面,我就暂时没想到怎么做了
#include
int
main(int
argc,char
*argv[])
{
char
ch[50]={NULL},*p=ch;
int
i=0;
gets(ch);
while(*p!=NULL)
{
printf("%c\n",ch[i++]);
p++;
}
}
Ⅵ c语言中如何输入一个没有长度的数组
方法一:每输入一次,都询问是否继续输入
while(1)
{
scanf("%d",&a[i]);
printf("是否继续?(y/n)");
c=getchar();
if(c=='y'||c=='y')continue;
else
break;
}
这种方法比较笨
方法二:规定输入的范围,例如要输入的是正整数,那么可以检测输入的是否合法,如果输入了负数就结束循环
while(scanf("%d",&a[i])==1&&a[i]>0)
{
continue;
}
方法很多,依据不用程序的不同任务可以有不同的办法。
Ⅶ c语言 怎么用数组输入一组数,然后再原样输出
<pre name="code"class="cpp">#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
char a[100];
while(scanf("%s",a)!=EOF)
printf("%s ",a);
}
return 0;
}
(7)c语言中输入一个数组扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
Ⅷ C语言键盘上输入一个数组
您好,可参照下面代码,望采纳!!!
#include<stdion.h>
voidmain()
{
intarr[10];
inti;
//直接逆序输入
for(i=9;i>=0;i--)
{
scanf("%d",&arr[i]);
}
for(i=0;i<10;i++)
{
printf("%d",a[i]);
}
printf(" ");
}
Ⅸ 如何在C语言中用scanf输入数组
#include
main()
struct
int num;
char name[20];
char sex;
int age;
stu[5];
int i;
for(i=0;i<5;i++)
printf("请输入信息 ");
scanf("%d",&stu[i].num);
scanf("%s",&stu[i].name);
scanf("%c",&stu[i].sex); //在%c之前加一个空格
scanf("%d",&stu[i].age);
for(i=0;i<5;i++)
printf( "*%s*",stu[i].name);
(9)c语言中输入一个数组扩展阅读:
函数 scanf() 是从标准输入流stdin[1](标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
Ⅹ c语言 怎样输入一个数组单独输出数组里面的一个数
楼主还欠缺基本功,有很多语法错误:
void
main()
{
char
a[1000];
int
i=0;int
b=0;
while(1)
{scanf("%d",a[i]);
/*scanf("%d",&a[i]);用&取地址*/
if
(a[i]=="/n")
/*这样不行的,a[i]都是整数,永远不可能退出循环,而且回车应该是'\n'
*/
break;
i++;
}
for(b;b=i-1;b++)
/*这样写也不对,可以用for(b=0;b
void
main()
{
int
a[1000];
int
i=0;int
b=0;
while(scanf("%d",a[i])==1)
/*不能这样写,scanf没有返回值*/
{
i++;
for(b=0;b
评论
0
0
0
加载更多