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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中如何修改数组中的元素相关的知识,希望对你有一定的参考价值。

题目描述

定义一个有20个元素的整型数组,所有元素初始化为0。然后输入一些命令,要求将数组的前若干个元素变为指定值。在每个命令输入后,马上将整个数组输出以查看修改效果。

输入

首先输入N,代表有N组命令需要处理,然后每次输入两个整数length和value,要求将数组的前length个元素值设为value。注意length一定合法,是不超过数组元素个数的正数。

输出

每个命令输入后,应马上输出当前数组的全部元素,每个元素后加一个空格分隔。每次输出占一行。

样例输入
2
20 1
4 5
样例输出
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
5 5 5 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

思路:每次修改用一个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
*/
参考技术A #include <stdio.h>
#include <string.h>

int main()

int N;
scanf("%d",&N);
int a[21];
memset(a,0,sizeof(a));

while(N--)

int i,l,v;
scanf("%d%d",&l,&v);
for(i=0;i<l;i++)
a[i]=v;
for(i=0;i<20;i++)
printf("%d ",a[i]);
putchar(10);

return 0;


楼主参考本回答被提问者采纳

以上是关于c语言中如何修改数组中的元素的主要内容,如果未能解决你的问题,请参考以下文章

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

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

用C语言如何将一个一维数组中的元素随机排序

c语言如何判断一个数组中重复元素的个数,并输出这个个数的值?

C语言一维数组中如何查找指定元素?

C语言如何检查一个数组中元素的个数