修改指定位置元素

问题描述

创建一个元素为整数的顺序表,并对顺序表中指定位置的元素进行修改。

输入描述

输入包括四行,第一行为一个整数n(不超过20),表示顺序表的长度;

第二行为n个由空格分隔的整数;

第三行为一个整数i,代表顺序表中需要修改元素的位置;

第四行一个整数e,表示顺序表第i个位置元素修改为e。若位置i不合理,则顺序表不做修改。

输出描述

输出共三行,第一行输出创建后的顺序表中元素;

第二行,若修改元素的位置合理,则输出“修改的位置有效!”,否则输出“修改的位置有误!”;

第三行输出修改后的顺序表中元素。输出的每个元素之间用一个空格隔开。

样例输入
输入样例1:
10
11 8 21 6 21 12 13 95 35 26
4
66

输入样例2:
8
7 14 21 28 35 42 49 56
10
8
样例输出
输出样例1:
创建后的顺序表为:11 8 21 6 21 12 13 95 35 26
修改的位置有效!
修改后的顺序表为:11 8 21 66 21 12 13 95 35 26

输出样例2:
创建后的顺序表为:7 14 21 28 35 42 49 56
修改的位置有误!
修改后的顺序表为:7 14 21 28 35 42 49 56

完整代码

#include<stdio.h>
#define LISTSIZE 100   //定义线性表最大长度
typedef int DataType;  //指定顺序表中数据元素的类型为整型
typedef struct
{
	int data[LISTSIZE];  //数组存放元素
	int length;  //线性表实际长度
}SeqList;

static void ListDelete(SeqList& L, int i, int num)
{
	printf("创建后的顺序表为:");
	for (int i = 0; i < L.length; i++)
	{
		printf("%d ", L.data[i]);  //输出创建后的顺序表中元素
	}
	printf("\n");
	if (i<1 || i>L.length + 1)  
		printf("修改的位置有误!\n");
	else
	{
		printf("修改的位置有效!\n");
		L.data[i-1] = num;	
	}
	printf("修改后的顺序表为:");
	for (int j = 0; j < L.length; j++)
		printf("%d ", L.data[j]);
	return;
}
int main()
{
	SeqList L;
	scanf("%d", &L.length);  //顺序表的长度
	for (int i = 0; i < L.length; i++)
	{
		scanf("%d", &L.data[i]);  //存放元素
	}
	int e = 0;
	int num = 0;
	scanf("%d%d", &e,&num);  //顺序表中需要修改元素的位置以及修改后的数
	ListDelete(L, e, num);
	return 0;
}

  • 12
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值