您的位置:

c语言修改数组,c语言修改数组地址

本文目录一览:

c语言如何修改数组中的数据

可以直接赋值的。

如你定义的二维数组,a[2][2]={0,1,2,3};以及一个变量int x;

scanf("%d",x);//从键盘获取x的数值。假设x的输入数值为8

那么可以用a+下标赋值就可以了。如a[0][1]=x。

那么二维数组就变成,a[2][2]={0,8,2,3}

C语言中怎样实现对数组数据的删除、修改?

#includestdio.h

typedef struct Node{

int a,b;

}node;

node c[100];

int n;

void print(){

int i;

printf("\n当前数据:\n");

for(i=1;i=n;i++){

printf("第%d组:a=%d,b=%d\n",i,c[i].a,c[i].b);

}

printf("\n\n");

}//输出

void setnum(){

int i;

printf("输入n,表示共有n组数据:\n");

scanf("%d",n);

for(i=1;i=n;i++){

printf("输入第%d组数据的两个值a、b,用空格隔开:\n",i);

scanf("%d%d",c[i].a,c[i].b);

}

}//设置数据

void remove(){

int i,j;

printf("输入i,表示要删除第i数据:\n");

scanf("%d",i);

for(j=i;j=n-1;j++){

c[j]=c[j+1];

}//循环覆盖,让后一个覆盖前一个,所以j最大值取n-1

n--;//结构体中的元素减少1个

}//删除数据

void chang(){

int i,aa,bb;

printf("输入i,a,b,表示要将第i组数据修改成a、b:\n");

scanf("%d%d%d",i,aa,bb);

c[i].a=aa;

c[i].b=bb;//直接赋值修改

}//修改数据

main(){

int m;

while(1){

printf("输入:1-输入数据,2-修改数据,3-删除数据\n 4-输出数据,0-退出\n");

scanf("%d",m);

if(m==0) break;

else if(m==1) setnum();

else if(m==2) chang();

else if(m==3) remove();

else if(m==4) print();

}

}

c语言中如何修改数组中的元素

思路:每次修改用一个for循环依次对需要修改的数组元素进行修改,修改结束利用for循环输出修改后结果。

参考代码:

#includestdio.h

int main()

{

int t[20],num,i,a,b;

for(i=0;i20;i++)

t[i]=0;//首先所有元素赋值0;

scanf("%d",num);

while(num--){

scanf("%d%d",a,b);

for(i=0;ia;i++)//修改前a个元素的值 

t[i]=b;

for(i=0;i20;i++)

printf("%d ",t[i]);

printf("\n");

}  

return 0;

}

/*

输出: 

2

20 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

4 5

5 5 5 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

*/