C语言里怎么给一维阵列赋相同初值?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
C语言里怎么给一维阵列赋相同初值?
int a[1000];
memset(a,-1,sizeof(int)*1000);注意按位元组赋值 -1的补码=11111111
想赋值1就行不通了 1的补码=00000001
标头档案是string.h
c++里面的fill 可以赋值任何数 fill(a,a+1000,1); fill(a,a+1000,-1); 标头档案iostream
c语言中给一维阵列赋空值怎么实现
C语言中没有空值这个概念,所以不可以给一维阵列赋空值。
倒是可以给一维阵列赋全0,从某个角度来说相当于是赋了空值
c++怎样将一维阵列整体赋相同初值
C/C++不支援阵列整体赋值,可以在宣告阵列时整体初始化。无论阵列有多大,全部初始化为0的操作很简单,如int a[3000]={0};就可以将a的3000个元素全部置0;若要赋其他值,例如全部赋值为7,写成int a[3000]={7};则不行,这只给a[0]赋值为7,其余的都是0。在阵列长度较小时,可直接写入资料初始化,如int a[5]={1,2,3,4,5};,若阵列太长,如前述a[3000],写3000个数显然是不现实的。遇到这种情况,可以定义一个带引数的巨集来简化初始化的书写,例如要把a[3000]全部初始化为9,可用以下程式码:
#include "stdafx.h"If the vc++6.0, with this line.#include "stdio.h"#define X(x) x,x,x,x,x,x,x,x,x,x带引数的巨集,x是预赋之值int main(void){ int a[3000]={X(X(X(9))),X(X(X(9))),X(X(X(9)))};以赋9为例 printf("%d %d %d\n",a[0],a[1499],a[2999]);打几个出来看看... return 0;}
请问在C语言中,如何将二维阵列的值赋给一维阵列。谢谢!
int i,j,a[3][4],b[12];
int n=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
b[n++]=a[i][j];
}
就OK了!
给点辛苦分吧!谢谢!
C语言:一维阵列与指标
#include
#include
C语言程式设计:从键盘输入n个整数存放在一维阵列中,求出他们的和及平均值并输出,要求用指标访问阵列元素。
int main()
{
float ave;
int sum=0,n;
int *sta=NULL,*end=NULL,*i=NULL;
sta头指标,end尾指标,i变数指标
scanf("%d",&n);
输入n,个数
sta=(int*)malloc(sizeof(int)*n);
分配n个空间
end=sta+n;
for(i=sta;i
{
scanf("%d",i);
i是地址,不用加&
sum+=*i;
}
free(sta);
返回空间
ave=(float)sum/n;
printf("%d\t%7.2f\n",sum,ave);
}
怎么把二维阵列的值赋给一维阵列
可以采用两种方式:
1 按元素赋值:
遍历一维阵列,并将每个元素赋值到二维阵列的对应元素上。
或者遍历二维阵列,将每个元素赋值为一维阵列对应值上。
优点为操作灵活,可以按照需要任意赋值。
2 当一维阵列和二维阵列型别相同,而且赋值顺序与一维阵列中的储存顺序完全相同时,可以用memcpy的方式,直接一次性赋值。
如一维阵列为a,二维阵列为b,基础型别为TYPE,需赋值元素个数为n,可以呼叫
memcpy(b,a,sizeof(TYPE)*n);
该方法有点为操作简单,执行效率高。
不过所需满足的前提条件多。在满足上述所有条件时,用memcpy的方式更为简单。
C语言中二维阵列与一维阵列的不同
int a[5]
一维阵列,排列就是
X X X X X
int a[5][5]
二维的就变成
X X X X X
X X X X X
X X X X X
X X X X X
一维阵列的最大值 C语言
我还是从变成思想开始跟你说吧:
正如实际中一样,我们所谓的最大是通过比较出来的,程式中也一样,对于一个数组,她里面的数很多,必须通过一一比较来决定谁最大。在这里我们可以取一个初始的比较值,不如就用阵列的第一个元素。然后从第二个开始比较,把两两比较后大的数放在一个变数Max里。这样,通过全部比较Max里的数不就是该阵列中最大的数了。
程式如下:
#include "stdio.h"
int main()
{
int a[100];
int i=0;
int Max=a[0];
for(i=0;i<100;i++) if(Max
printf("%d",Max);
}
当然这个100是可以变的,表示你要比较的阵列的元素个数,可以根据实际要比较的阵列大小来改变
c语言怎么用一维阵列绘图
一般是用0和1对阵列赋值,然后值为1的输出某个团案,值为0的跳过
一维阵列怎样赋值给二维阵列
程式是我除错完发出来的... 图不知道为什么发不上去... 这个应该就是按你说的了
已知 一个一维数组里面按顺序的10个数... 然后输入个数 回圈遍历比较输入的数和阵列中的数
若相同,输出阵列下标,回圈终止,若一直到最后都没找到有相同的,则输出 阵列中不存在该数
...
分页:
1
23