本文目錄一覽:
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
*/
原創文章,作者:VWFO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132148.html