基于visual Studio2013解决C语言竞赛题之1069链表查找删除
题目
解决代码及点评
/*
功能:建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,
将此结点删除,输出最后的链表。 时间: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链表查找删除的更多相关文章
- 基于visual Studio2013解决C语言竞赛题之0809链表排序
题目
- 基于visual Studio2013解决C语言竞赛题之0902文件查找
题目
- 基于visual Studio2013解决C语言竞赛题之0810链表去重
题目
- 基于visual Studio2013解决C语言竞赛题之0708字符串查找
题目
- 基于visual Studio2013解决C语言竞赛题之1013字符串查找
题目 解决代码及点评 /* 功能:编写函数IND,让它判断一个字符串是否为另一个字符串的子串的功能,若是则返回第一次出现的起始位置,否则返回0 时间:13:55 2013 ...
- 基于visual Studio2013解决C语言竞赛题之1092链表转换
题目 解决代码及点评 /************************************************************************/ /* ...
- 基于visual Studio2013解决C语言竞赛题之1071打印工资
题目 解决代码及点评 /************************************************************************/ /* ...
- 基于visual Studio2013解决C语言竞赛题之1070删除相同节点
题目 解决代码及点评 /************************************************************************/ /* ...
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...
随机推荐
- 2014 北京邀请赛ABDHJ题解
A. A Matrix 点击打开链接 构造,结论是从第一行開始往下产生一条曲线,使得这条区间最长且从上到下递减, #include <cstdio> #include <cstrin ...
- iOS中的图像处理(二)——卷积运算
关于图像处理中的卷积运算,这里有两份简明扼要的介绍:文一,文二. 其中,可能的一种卷积运算代码如下: - (UIImage*)applyConvolution:(NSArray*)kernel { C ...
- Zend Studio 10.6.0汉化教程(图文)
来源于:http://www.pw88.com/teach/bangong/32.html 此汉化方法适用于所有的zend studio版本.整个汉化思路是:在线或者离线官方下载汉化包,本地安装即 ...
- 【Maven】pom.xml 配置 eclipse错误
<!-- servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactI ...
- BZOJ 2101: [Usaco2010 Dec]Treasure Chest 藏宝箱( dp )
dp( l , r ) = sum( l , r ) - min( dp( l + 1 , r ) , dp( l , r - 1 ) ) 被卡空间....我们可以发现 l > r 是无意义的 ...
- Hibernate JPA 中配置Ehcache二级缓存
在Hibernate3 JPA里配置了一下非分布式环境的二级缓存,效果不错.具体过程如下: 1, 需要引入的jar包 http://ehcache.org/downloads/catalog 下载的包 ...
- UVA 10020 Minimal coverage(贪心 + 区间覆盖问题)
Minimal coverage The Problem Given several segments of line (int the X axis) with coordinates [Li, ...
- Linux定义系统提示符的变量:PS1
- HDU 5009 DP
2014 ACM/ICPC Asia Regional Xi'an Online 对于N个数 n(1 ≤ n ≤ 5×104), 把N个数分成随意个区间,每一个区间的值是该区间内不同数字个数的平方和, ...
- java io学习记录(路径分隔符)
java路径分隔符(路径表示) path="E:\\xp\\test\\2.jpg"; path="E:/xp/test/2.jpg"; path=" ...