题目

解决代码及点评


/*
功能:建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,
将此结点删除,输出最后的链表。 时间: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. PHP - 目录、文件操作

    目录操作: <?php /** * Read Directory. * Just read the top-level directory. * @param string $path dire ...

  2. 【centos6 , 7】 网络原理、网络配置

    第一部分:网络原理: 一.网络编址 (主要使用IP编址) 1.ip编址是一个双层编址方案,一个ip地址标识一个主机(或一个网卡接口) 2.现在应用最为广泛的是IPv4编址,已经开始逐渐向IPv6编址转 ...

  3. .htaccess文件设置

    1.为使.htaccess有效,需要先做httpd.conf设置 #打开改写模式Options FollowSymLinks AllowOverride All#打开重写模式,去掉这行注释LoadMo ...

  4. 我的Python成长之路---第三天---Python基础(10)---2016年1月16日(雾霾)

    二.collections collections是对Python现有的数据类型的补充,在使用collections中的对象要先导入import collections模块 1.Counter——计数 ...

  5. 17.1.1.4 Obtaining the Replication Master Binary Log Coordinates 获取复制Master Binary Log的坐标:

    17.1.1.4 Obtaining the Replication Master Binary Log Coordinates 获取复制Master Binary Log的坐标: 你需要master ...

  6. assert使用

    assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include <assert.h> void assert( i ...

  7. 给centOs添加epel源

    epel简介: https://fedoraproject.org/wiki/EPEL/zh-cn 1. rpm -Uvh http://dl.fedoraproject.org/pub/epel/5 ...

  8. 为centos添加第三方源

    默认centos自带的源少了很多好软件,所以需要添加第三方源一.安装CentOS yum源优先级插件yum-prioritiesyum install yum-plugin-priorities.no ...

  9. 已知的CPropertysheet bug: 切换焦点导致无响应

    当一个页面内容比较多时我们首先可能考虑用Tab Control,但如果有很多页面内容需要动态加载则用CPropertySheet比较好点~ CPropertySheet有两种不同的显示模式.一种就是向 ...

  10. CocoaPods on Xcode 6 and Yosemite

    老子今天又给环境跪了..... cocoapods 在升级完新系统以后无法工作 解决cocoapods 在 mac 10.10下报错 错误例如以下. /System/Library/Framework ...