c語言程序網
㈠ c語言 編寫程序
鏈表創建使用creat函數,每調用一次創建一個節點。第一次調用函數會自己創建頭節點內存。
列印輸出部分,只要列印第一個節點,只要stuHead->next就可以了。
我這里寫循環里,是演示遍歷鏈表,你把break去掉就是列印整個鏈表。
#include<stdio.h>
#include<malloc.h>
typedef struct stuInfo
{
int id;//學號
char name[10];//姓名
int score;//成績
struct stuInfo *next;
}SINFO;
int creat(SINFO **stuHead,SINFO**stuTail);//成功返回1,失敗返回0
int main()
{
SINFO *stuHead=NULL,*stuTail=NULL;
if(!creat(&stuHead,&stuTail))
return 1;
if(!creat(&stuHead,&stuTail))
return 1;
if(!creat(&stuHead,&stuTail))
return 1;
while(stuHead->next)
{
printf("鏈表第一個學生信息: ");
printf("學號:%d ",stuHead->next->id);
printf("姓名:%s ",stuHead->next->name);
printf("成績:%d ",stuHead->next->score);
break;//去掉這個,就是列印鏈表所有信息,作為參考
stuHead=stuHead->next;
}
return 0;
}
int creat(SINFO **stuHead,SINFO**stuTail)//成功返回1,失敗返回0
{
SINFO *sHead=*stuHead,*sTail=*stuTail,*sNew=NULL;
if(!sHead)
{
sHead=(SINFO *)malloc(sizeof(SINFO)),sHead->next=NULL;
if(!sHead)
return 0;//拋出異常
}
sNew=(SINFO *)malloc(sizeof(SINFO));
if(!sNew)
return 0;//拋出異常
printf("請輸入學號:"),scanf("%d",&sNew->id);
printf("請輸入姓名:"),scanf("%s",sNew->name);
printf("請輸入成績:"),scanf("%d",&sNew->score);
sNew->next=NULL;
if(sHead->next==NULL)
sHead->next=sNew;
else
sTail->next=sNew;
sTail=sNew;
*stuHead=sHead;
*stuTail=sTail;
return 1;
}
㈡ 有沒有小白基礎的c語言程序設計百度網盤分享
C語言程序設計教程:
http://pan..com/s/1gf7QEMf
網路網盤資源下載
這還有個比較多的
鏈接: http://pan..com/s/1hsGCfha 密碼: xjbr