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

发布时间:2022-11-23

本文目录一览:

1、c语言如何修改数组中的数据
2、C语言中怎样实现对数组数据的删除、修改?
3、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语言中怎样实现对数组数据的删除、修改?

#include<stdio.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循环输出修改后结果。 参考代码:

#include<stdio.h>
int main()
{
    int t[20],num,i,a,b;
    for(i=0;i<20;i++)
        t[i]=0; // 首先所有元素赋值0;
    scanf("%d",&num);
    while(num--){
        scanf("%d%d",&a,&b);
        for(i=0;i<a;i++) // 修改前a个元素的值
            t[i]=b;
        for(i=0;i<20;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