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语言中如何修改数组中的元素的主要内容,如果未能解决你的问题,请参考以下文章