// 第七次作业第三题vs.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include"malloc.h"
#define LEN sizeof(struct student)
struct student
{int num;char name[10];struct student*next;
};
struct student* create(struct student *p1,struct student*p2,int n)
{
int i;
struct student *head;
head=p1;
for(i=0;i<n;i++)
{
p2=p1;
scanf_s("%d%s",&p1->num,&p1->name);
fflush(stdin);
if(i==(n-1))
{p1->next=NULL;}
else
{ p1=(struct student*)malloc(LEN);
} p2->next=p1;
}
return (head);
}
void f(struct student *head)
{
struct student *p1,*p2;
int i=0;
p1=head;
while(p1->next!=NULL)
{p2=p1;
p1=p1->next;
i++;
}
i++;
printf("主函数的个数为:%d\n",i);
}
struct student* fv(struct student *head)
{
struct student *p1,*p2,*p3,*head2;
p1=head;p2=head;p3=head;
while(p1!=NULL)
{
if(p1==p2)
{p1=p1->next;
p2->next=NULL;
p2=p1;
p3=p1;
p3->next=head;
p1=p1->next;
}
else
{
p2=p1;
p1=p1->next;
p2->next=p3;
}
}
head2=p2;
return head2;
}
void list(struct student*head)
{
struct student *p;
p=head;
while(p!=NULL)
{
printf("学号/名字:%s %s\n",p->num,p->name);
p=p->next;
}
}
void search(int m,struct student* head)
{
struct student *p;
p=head;
while(p!=NULL)
{
if(p->num==m)
printf("\n学生学号/名字为:%d %s",p->num,p->name);
else p=p->next;
}
if(p==NULL)
{printf("\n查无此人");}
}
int _tmain(int argc, _TCHAR* argv[])
{
struct student *p1,*head,*p2,*head2;
p1=(struct student*)malloc(LEN);
p2=p1;
int n,m;
printf("请输入学生总人数:");
scanf_s("%d",&n);
fflush(stdin);
head=create(p1,p2,n);
list(head);
f(head);
head2=fv(head);
list(head2);
printf("请输入要检索的学生的学号:");
scanf_s("%d",&m);
search(m,head2);
return 0;
}
为什么第一个函数的fou循环只能输入一次值
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 浪客 2022-12-22 21:31关注
scanf_s("%d%s",&p1->num,p1->name);
字符串不用加&本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
- ¥15 nginx反向代理获取ip,java获取真实ip
- ¥15 eda:门禁系统设计
- ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
- ¥15 376.1电表主站通信协议下发指令全被否认问题
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥15 复杂网络,变滞后传递熵,FDA
- ¥20 csv格式数据集预处理及模型选择
- ¥15 部分网页页面无法显示!
- ¥15 怎样解决power bi 中设置管理聚合,详细信息表和详细信息列显示灰色,而不能选择相应的内容呢?