动态链表统计字符频度(c语言)

用动态链表统计字符频度:(用c语言写,最好是调试成功的完整代码,并详细注释,字符不只是24个英文字符,还有数字,空格等)

创建动态链表、加节点;
已读入的字符数据传递给动态链表处理模块;
使用链表结构,完成字符的频度统计;
把动态链表模块嵌入到之前的工程中。
#include
typedef struct Student{
long num;
float score;
struct Student *next;
} Student;

int n;
Student * create(){
Student *head,*p1,*p2;
n = 0 ;
//开辟新结点 同时使p1 p2指向该结点
p1=p2=(Student *)malloc(sizeof(Student));

scanf("%d %f",&p1->num,&p1->score);
//此时head的指向为NULL
head = NULL;
while(p1->num != 0){
//n代表结点数
n=n+1;
if(n==1){
//n=1 说明该结点是第一个结点 使head指向该结点
head = p1;
}else{
//如果不是头结点 把p1所指向的结点链接在p2所指向结点的后面
p2->next = p1;
}
//使p2向前移
p2 = p1;
//开辟新结点 使p1指向它
p1 = (Student *)malloc(sizeof(Student));
scanf("%d %f",&p1->num,&p1->score);
}
//循环退出之后 使p2指向NULL 因为链表的尾结点指向NULL
p2->next = NULL;
return head;
}

void main(){
Student *pt;
pt = create();
printf("\nnum:%d\nscore:%5.1f\n",pt->num,pt->score );
return 0;
}
https://blog.csdn.net/u010703975/article/details/44975989
https://blog.csdn.net/weixin_42107106/article/details/83105509

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问