数据结构C语言实验二之顺序表

2023-11-24 13:33:54 浏览数 (3)

1.输出顺序表L中第i个元素,若没有找到该元素,输出“不存在”标志。

代码语言:javascript复制
#include <stdio.h>
int main()
{
	//	1.输出顺序表L中第i个元素,若没有找到该元素,输出“不存在”标志。
	char L[] = {'D', 'U', 'A', 'N', 'X', 'I', 'A', 'O', 'F', 'A', 'N', 'G'};
	char i = 5;
	//	计算数组长度 
	int length = sizeof(L) / sizeof(L[0]);
	//	判断取值下表位置合法性
	if(i<1||i>length){
		printf("不存在");
		return 0;	
	}
	//	合法则通过下表取出元素 
	printf("第%d个元素为%c",i,L[i]);
	return 1;
}

2.在非空顺序表L中删除第一个值为x的元素,成功删除返回true,否则返回false。

代码语言:javascript复制
	char L[] = {'D', 'U', 'A', 'N', 'X', 'I', 'Z', 'A', 'O', 'F', 'A', 'N', 'G'};
	// 计算表长	
	int length = sizeof(L)/sizeof(L[0]);
	// 查看一下删除前表元素 
	printf("删除前表长%dn",length);
	for(int i=0;i<length;i  ){
		printf("%c",L[i]);
	}
	char x = 'Z';
	// 查找元素x 
	for(int i=0;i<length;i  ){
		if(L[i]==x){
			// 删除元素(元素迁移 大赋小)
			for(int j=i;j<=length-1;j  ){
				// j 1 是因为 从Z之后的元素开始前移覆盖元素。 
				L[j] = L[j 1];
			} 
			// 表长减1
			--length;
			return true;
		}
	}
	
	// 查看一下删除后的表元素
	printf("删除后表长%dn",length);
	for(int i=0;i<length;i  ){
		printf("%c",L[i]);
	}

return false;

3. 要求用户输入一个密码,如果密码不是12345,那么密码错误,如果密码输入正确,则显示欢迎回家。(要求用break语句)

代码语言:javascript复制
//	3.要求用户输入一个密码,如果密码不是12345,那么密码错误,
//	如果密码输入正确,则显示欢迎回家。(要求用break语句)
	int userInputPassword[] = {1,2,3,4,5};	// 假设用户输入的密码 
	int password[] = {1,2,3,4,5};			// 系统正确密码 
	int userInputPasswordLength = sizeof(userInputPassword)/sizeof(userInputPassword[0]);
	int PasswordLength = sizeof(password)/sizeof(password[0]);
	// 判断长度是否一致
	if(userInputPasswordLength==PasswordLength){
		// 比较两个数组对应位置的元素是否一致。如果其中一个不一致也是密码错误
		for(int i=0;i<PasswordLength;i  ){
			if(userInputPassword[i]==password[i]){
				printf("显示欢迎回家");
				break;
			}else{
				printf("密码错误");
				break;
			}
		}
	}else{
		printf("密码错误");
	}

最后主需要注意,每个代码片段 放到main函数内就能直接运行。

0 人点赞