成信大2021自动化专业-平时自主学习-C语言改错题解题参考-整理第10页

本文通过几个具体的C语言实例,详细介绍了结构体、联合体、链表等数据结构的应用方法,包括如何定义结构体成员、使用联合实现变量共享、创建与遍历链表等。

第10页

题面如下:

在这里插入图片描述

题解如下:

D1074.c

原文件

#include <stdio.h>

/*********Found************/
typedef struct Num5
{
   
   
	char clas[10];
	char position[10];
/*********Found************/
} ;

struct
{
   
   
	int num;
	char name[10], sex, job;
	Num5 category;
} person[2];

int main(void)
{
   
   
	int i;

	for (i=0; i<2; i++)
	{
   
   
		printf("please enter the data of person %d: ", i+1);
		scanf("%d %s %c %c", &person[i].num, &person[i].name, &person[i].sex, &person[i].job);
		if ('s' == person[i].job)
		{
   
   
			scanf("%s", person[i].category.clas);
		}
		else if ('t' == person[i].job)
		{
   
   
			scanf("%s", person[i].category.position);
		}
		else
		{
   
   
			printf("Input error!");
		}
	}

	printf("\nNo.  name      sex job class/position\n");
	for (i=0; i<2; i++)
	{
   
   
		printf("%-6d%-10s%-4c%-4c%-10s\n", person[i].num, person[i].name,
			person[i].sex, person[i].job, person[i].category.clas);
	}

	return 0;
}

改后文件

#include <stdio.h>

/*********Found************/
typedef union
{
   
   
	char clas[10];
	char position[10];
/*********Found************/
} Num5;

struct
{
   
   
	int num;
	char name[10], sex, job;
	Num5 category;
} person[2];

int main(void)
{
   
   
	int i;

	for (i=0; i<2; i++)
	{
   
   
		printf("please enter the data of person %d: ", i+1);
		scanf("%d %s %c %c", &person[i].num, person[i].name, &person[i].sex, &person[i].job);
		if ('s' == person[i].job)
		{
   
   
			scanf("%s", person[i].category.clas);
		}
		else if ('t' == person[i].job)
		{
   
   
			scanf("%s", person[i].category.position);
		}
		else
		{
   
   
			printf("Input error!");
		}
	}

	printf("\nNo.  name      sex job class/position\n"
### 回答1: 您好,我是AI语言助手,以下是对您的回复: 20201022--c语言程序设计-20201学期《c语言程序设计b》是一门面向学生的C语言程序设计课程,主要教授C语言的基础知识和编程技巧,包括数据类型、运算符、流程控制语句、函数、指针、数组、结构体等内容。通过本课程的学习,学生可以掌握C语言的基本语法和编程思想,提高编程能力和解决问题的能力,为以后的编程学习和工作打下坚实的基础。 ### 回答2: 20201学期的《c语言程序设计b》是一个深入学习C语言的课程,教授的是C语言的高级应用。在本次课程中,学生将会进一步学习C语言的语法、程序设计思路以及具体的编码实践。 首先,学生将会学习C语言中的函数、指针、结构体、联合体、枚举等高级概念。这些概念是C语言面向对象编程中至关重要的概念,也是学生在日后编写复杂程序时所必须了解的内容。此外,在学习这些概念的同时,学生还将学习如何使用宏定义和预编译指令来进一步优化程序性能。 其次,学生将会进行具体的编码实践,包括基于C语言的数据结构设计和实现、字符串处理、文件操作、网络编程等等。这些项目和实践将会提供给学生量的机会来将所学的概念应用到具体的场景中,帮助学生更深入地理解C语言的应用。 此外,学生还将参加课堂讨论、代码评审等活动,通过这些活动来提高自己的编程能力、代码质量和团队协作能力。教师也将会给学生提供详细的反馈,帮助他们改善自己的问题和提高自己的能力。 总之,《c语言程序设计b》是一门非常重要的课程,对于学生日后从事计算机编程工作具有非常重要的意义。通过学习这门课程,学生将会幅提高自己的编程能力、透彻理解C语言并将其应用到实际工作中。 ### 回答3: -20201学期《c语言程序设计b》是一门针对深入学习C语言的高级课程,内容涵盖了高级数据结构、算法设计、动态内存分配、文件操作等等。 在这门课程中,学生将通过实践和理论学习,掌握C语言的高级编程技巧和策略。课程的重点之一是高级数据结构,包括链表、树、哈希表、图等等,学生将深入理解数据结构的实现和应用。 除此之外,课程还将涉及算法设计和分析,学生将学习如何设计出高效的算法,并进行时间和空间复杂度分析。动态内存分配和文件操作也是这门课程的重点,这些技术对于C语言程序设计来说非常重要。 学生在课程中还将开展实践项目,以实现理论学习。通过项目实践,学生将在实际中应用学到的技术,发现其中存在的问题并解决。 总之,-20201学期《c语言程序设计b》是一门非常高级的、面向深度学习的课程。通过系统学习和实践的方式,学生将深入掌握C语言的高级编程技巧。这门课程对于想要深入学习C语言的学生来说是非常重要的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值