C语言链表求助!
来源:互联网 发布:淄博seo推广公司 编辑:程序博客网 时间:2024/06/06 06:47
/* 建立一个链表,每一个结点包括:学号,姓名,性别,年龄。输入
一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结
点删去,否则提示用户输入学号,姓名,性别等信息,并插入该结点、、、 */
/*******************************************************************/
#include <stdio.h>
#include <stdlib.h>
#define N 10
struct node * print_link(struct node * head); /* 打印链表 */
struct node {
int id;
char name[N];
int sex;
int age;
struct node * next;
};
int main(void)
{
struct node * head;
struct node * temp;
struct node * add_temp;
int n;
head = (struct node *) malloc(sizeof(struct node));
temp = head;
/* 创建链表首结点 */
temp->next = NULL;
printf("请输入你想录取的学生的个数: ");
scanf("%d", &n);
printf("\n");
while (add_temp != NULL)
{
add_temp = (struct node *) malloc(sizeof(struct node));
printf("学生学号id = ");
scanf("%d", &add_temp->id);
printf("student name is(学生名字): ");
getchar();
gets(add_temp->name);
printf("Enter the sex(0代表男生,1代表女生): ");
scanf("%d", &add_temp->sex);
printf("输入学生的年龄: ");
scanf("%d", &add_temp->age);
printf("\n");
n--;
temp->next = add_temp;
temp = temp->next;
if (n == 0)
{
printf("学生信息已经录完!\n");
printf("**********************************\n");
break;
}
}
print_link(head);
return 0;
}
struct node * print_link(struct node * head)
{
struct node * temp;
temp = head->next;
int i = 1;
while (temp != NULL)
{
printf("这个是第%d个学生的资料.\n", i);
printf("id = %d. name = %s. sex = %d. age = %d.\n", temp->id, temp->name,
temp->sex, temp->age);
temp = temp->next;
i++;
}
return temp;
}
i和n的数值有一个问题,就是n=0循环结束的时候,i会多一个
一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结
点删去,否则提示用户输入学号,姓名,性别等信息,并插入该结点、、、 */
/*******************************************************************/
#include <stdio.h>
#include <stdlib.h>
#define N 10
struct node * print_link(struct node * head); /* 打印链表 */
struct node {
int id;
char name[N];
int sex;
int age;
struct node * next;
};
int main(void)
{
struct node * head;
struct node * temp;
struct node * add_temp;
int n;
head = (struct node *) malloc(sizeof(struct node));
temp = head;
/* 创建链表首结点 */
temp->next = NULL;
printf("请输入你想录取的学生的个数: ");
scanf("%d", &n);
printf("\n");
while (add_temp != NULL)
{
add_temp = (struct node *) malloc(sizeof(struct node));
printf("学生学号id = ");
scanf("%d", &add_temp->id);
printf("student name is(学生名字): ");
getchar();
gets(add_temp->name);
printf("Enter the sex(0代表男生,1代表女生): ");
scanf("%d", &add_temp->sex);
printf("输入学生的年龄: ");
scanf("%d", &add_temp->age);
printf("\n");
n--;
temp->next = add_temp;
temp = temp->next;
if (n == 0)
{
printf("学生信息已经录完!\n");
printf("**********************************\n");
break;
}
}
print_link(head);
return 0;
}
struct node * print_link(struct node * head)
{
struct node * temp;
temp = head->next;
int i = 1;
while (temp != NULL)
{
printf("这个是第%d个学生的资料.\n", i);
printf("id = %d. name = %s. sex = %d. age = %d.\n", temp->id, temp->name,
temp->sex, temp->age);
temp = temp->next;
i++;
}
return temp;
}
i和n的数值有一个问题,就是n=0循环结束的时候,i会多一个
0 0
- C语言链表求助!
- C语言链表求助!
- 求助 C语言的单向链表
- 求助C语言编程
- c语言求助
- 求助C语言!!!!!!!!!
- c语言求助
- 求助!!!C语言课程设计
- 求助C语言的英语单词
- c语言结构体 求助
- c语言小知识 求助
- 约瑟夫环(求助C语言高手)
- c求助
- 求助:一个C语言编程的菜鸟问题
- 求助C++ADO
- C代码求助:
- 求助 c小知识
- 求助帖 C#winform
- constraints.gridwidth =2; 表示横着占2块地方
- ArcSDE空间数据库安装配置问题
- php字符串截取问题
- android屏幕分辨率适配调查结果以及总结
- 消息机制http://www.tuicool.com/articles/zYfaYz
- C语言链表求助!
- iOS开发:开发者账号申请后真机调试详细步骤
- kmp匹配
- 8) 多级结构数据成员指针memberPtr [原创,泛型编程,自由下载转载,需注明出处]
- 数组中第K小的数字
- cocos2d-x实现透视朦胧光照效果
- CSS 多浏览器兼容性问题及解决方案
- CString工作原理和常见问题分析
- 设计模式