这道c语言练习题折磨了我好久好久,改了好几次,最终结果勉强觉得还能接受。
附上代码
#include#include #include typedef struct customer { char ID[11]; struct customer* next; }cus; cus* creatlist() { cus* headnode = (cus*)malloc(sizeof(cus)); headnode->next =NULL; return headnode; } cus* createnode(char data[11]) { cus* newnode = (cus*)malloc(sizeof(cus)); int i=0; while(data[i]) { newnode->ID[i]=data[i]; i++; } newnode->ID[i]=' '; newnode->next = NULL; return newnode; } void addID(cus* list) { printf("请输入客户IDn"); char data[11]; gets(data); cus* newnode = createnode(data); cus* backfrontnode=list; cus* backnode=backfrontnode->next; while(backnode) { backnode=backnode->next; backfrontnode=backfrontnode->next; } newnode->next=backnode; backfrontnode->next=newnode; } void printlist(cus* list) { cus* pmove=list->next; int i=1; while(pmove) { printf("%d.t%sn",i,pmove->ID); i++; pmove=pmove->next; } putchar('n'); } int main() { char n='a'; cus* list = creatlist(); do { system("cls"); addID(list); fflush(stdin); printf("输入0退出,回车键继续n"); n=getchar(); fflush(stdin); }while(n!='0'); system("cls"); printf("正在排队的客户有:nn"); printlist(list); return 0; }



