题目

解决代码及点评


/*
功能:建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,
将此结点删除,输出最后的链表。 时间:17:00 2013/10/25
*/ #include<stdio.h>
#include <stdlib.h>
#include <string.h> struct student69
{
int ID;
char name[80];
int sex;
int age;
struct student69 *pNext;
}; typedef struct student69 ST; ST *initList69() //初始化链表!!!
{
ST *pHead=(ST *)malloc(sizeof(ST));
pHead->pNext=NULL;
return pHead;
} void insertSt(ST *pHead,int id,int sex,int age)
{
while (pHead->pNext!=NULL) //后继不为空,则指针向后移,直到最后一个结点
{
pHead=pHead->pNext;
}
ST *p=(ST *)malloc(sizeof(ST)); //创建新节点
if(p==NULL)return; //结点是否创建成功
pHead->pNext=p; //最后一个结点指向新节点
p->ID=id;
p->age=age;
p->sex=sex;
char a[80]={'\0'};
puts("Please enter the name: ");
scanf_s("%s",a);
strcpy_s(p->name,a);
p->pNext=NULL; //新结点后继赋空
} void showStudent69(ST *pHead) //输出全部信息
{
ST *p=pHead->pNext;
do
{
printf("ID: %d\t",p->ID);
printf("Name %s\t",p->name);
printf("age %d\t",p->age);
printf("sex %d\n",p->sex); } while ((p->pNext != NULL)&&(p=p->pNext));
} void deleteSt(ST *pHead,int theAge)
{
ST *p=pHead->pNext;
ST *prior=pHead; //保存前驱
while(p->age!=theAge&&p->pNext!=NULL) //不满足条件往后走
{
prior=p;
p=p->pNext;
}
if(p->age==theAge) //找到条件 将后继赋给前驱
{
prior->pNext=p->pNext;
}
free(p); //释放结点
if(p->age!=theAge)return; }
void main()
{
ST *pHead=initList69();
insertSt(pHead,1,1,18);
insertSt(pHead,2,0,19);
insertSt(pHead,3,1,30);
showStudent69(pHead); int theAge;
scanf_s("%d",&theAge);
deleteSt(pHead,theAge);
showStudent69(pHead); system("pause");
}

代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行

程序运行结果

代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






基于visual Studio2013解决C语言竞赛题之1069链表查找删除的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之0809链表排序

     题目

  2. 基于visual Studio2013解决C语言竞赛题之0902文件查找

       题目

  3. 基于visual Studio2013解决C语言竞赛题之0810链表去重

     题目

  4. 基于visual Studio2013解决C语言竞赛题之0708字符串查找

       题目

  5. 基于visual Studio2013解决C语言竞赛题之1013字符串查找

         题目 解决代码及点评 /* 功能:编写函数IND,让它判断一个字符串是否为另一个字符串的子串的功能,若是则返回第一次出现的起始位置,否则返回0 时间:13:55 2013 ...

  6. 基于visual Studio2013解决C语言竞赛题之1092链表转换

        题目 解决代码及点评 /************************************************************************/ /* ...

  7. 基于visual Studio2013解决C语言竞赛题之1071打印工资

        题目 解决代码及点评 /************************************************************************/ /* ...

  8. 基于visual Studio2013解决C语言竞赛题之1070删除相同节点

        题目 解决代码及点评 /************************************************************************/ /* ...

  9. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

随机推荐

  1. 一个轻client,多语言支持,去中心化,自己主动负载,可扩展的实时数据写服务的实现方案讨论

    背景 背景是设计一个实时数据接入的模块,负责接收client的实时数据写入(如日志流,点击流),数据支持直接下沉到HBase上(兴许提供HBase上的查询),或先持久化到Kafka里.方便兴许进行一些 ...

  2. android Graphics(三):区域(Range)

    前言:最近几天对画图的研究有些缓慢,项目开始写代码了,只能在晚上空闲的时候捯饬一下自己的东西,今天给大家讲讲区域的相关知识,已经想好后面两篇的内容了,这几天有时间赶紧写出来给大家.有关界面开发的东东内 ...

  3. 【Eclipse Plugin】SonarQube 启动报错

    由于近期,信息安全部在搞代码优化工作.所以,配合上边的工作需求,使用sonar对代码进行优化检测.在Eclipse上装Sonar很简单,只要在Eclipse Marketplace上面搜索“Sonar ...

  4. Objective-C开发编码规范:4大方面解决开发中的规范性问题

    Objective-C 编码规范,内容来自苹果.谷歌的文档翻译,自己的编码经验和对其它资料的总结. 概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程 ...

  5. [POJ 2184]--Cow Exhibition(0-1背包变形)

    题目链接:http://poj.org/problem?id=2184 Cow Exhibition Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  6. Codeforces 482 - Diverse Permutation 构造题

    这是一道蛮基础的构造题. - k         +(k - 1)      -(k - 2) 1 + k ,    1 ,         k ,             2,    ....... ...

  7. 4.I/O复用以及基于I/O复用的回射客户端/服务器

    I/O复用:当一个或多个I/O条件满足时,我们就被通知到,这种能力被称为I/O复用. 1.I/O复用的相关系统调用 posix的实现提供了select.poll.epoll两类系统调用以及相关的函数来 ...

  8. Git学习笔记总结和注意事项

    一.Git简单介绍 Git是眼下世界上最先进的分布式版本号控制系统.其特点简单来说就是:高端大气上档次! 二.Windows上Git安装 最早Git是在Linux上开发的.非常长一段时间内.Git也仅 ...

  9. 使用webview来查看网站

    1.权限 <uses-permission android:name="android.permission.INTERNET"/> 2.视图 <Relative ...

  10. two sets of Qt binaries into the same process的解决办法

    突然出现了这样问题,吓死我,然后只是把原来编译好的app里面所有的东西删除再编译就好了. 如果删除后不行,可以试试后面的截图所说,反正我是没有试过的 Starting /Qtwork/build-te ...