收录日期:2019/03/26 02:53:58 时间:2016/05/31 07:15:42 标签:C语言
关于构造体有些模糊,希望高手能给出下面这道题的代码以及注解,谢谢,最先给出正确代码及结果的人独得80分。
将下面这个程序修改成以下要求的程序:
1,构造体要拥有名字,住所,生日等member。
2,用到连续list
3,用函数能够实现data的增加和表示。

以下是修改前的代码;
#include<stdio.h>

struct LIST{
int data;
struct LIST *next;
};

struct LIST *add_cell(){
struct LIST *buf;
buf=(struct LIST *)malloc(sizeof(struct LIST));
return(buf);
}

void print_list(struct LIST *start){
struct LIST *buf;
buf=start;
while(buf->next!=NULL){
printf("%d/n",buf->data);
buf=buf->next;
}
}

main(){
struct LIST *start;
struct LIST *buf;
int i;
start=add_cell();
start->next=NULL;
buf=start;
for(i=0;i<100;i++){
buf->data=i*2;
buf->next=add_cell();
buf=buf->next;
buf->next=NULL;
}
print_list(start);
}
楼主不妨将功能再详细的叙述下,给你重写个还方便些的 :))
链表?
#include<stdio.h>
struct LIST
{
    char name[20];
    char abode[40];
    char birthday[10];
    struct LIST *next;
};
void print_list(struct LIST *start)
{
    while(start)
    {
        printf("name      %s\n",start->name);
        printf("birthday  %s\n",start->birthday);
        printf("abode     %s\n\n",start->abode);
        start=start->next;
    }
}
void *add_cell(struct LIST **start)
{
    struct LIST *buf;
    buf=(struct LIST *)malloc(sizeof(struct LIST));
    printf("name      ");
    gets(buf->name);
    printf("birthday  ");
    gets(buf->birthday);
    printf("abode     ");
    gets(buf->abode);
    printf("\n");
    buf->next=*start;
    *start=buf;
}

int main()
{
    struct LIST *start=NULL;
    int i;
    for(i=0;i<100;i++)
        add_cell(&start);
    print_list(start);
    return 0;
}
我有详细的C语言代码联系我
70987369
不是c语言行不行?

-_-
你已经基本上写好了
我帮你修改了一下
/*一个关于结构体的链表结构*/
#include<stdio.h>
//主结构
struct LIST{
char * name;
char * address;
char * birthday;
struct LIST *next;
};

//增加结构体变量
struct LIST *add_cell(){
struct LIST *buf;
buf=(struct LIST *)malloc(sizeof(struct LIST));
return(buf);
}

//打印结构体
void print_list(struct LIST *start){
struct LIST *buf;
buf=start;
while(buf->next!=NULL){
printf("%d/n",buf->data);
buf=buf->next;
}
}

main(){
struct LIST *start;
struct LIST *buf;
int i;
start=add_cell();
start->next=NULL;
buf=start;
for(i=0;i<100;i++){
buf->data=i*2;
buf->next=add_cell();
buf=buf->next;
buf->next=NULL;
}
print_list(start);
}
谢谢各位捧场,对于构造体液稍微熟悉一些了,以后还希望多多关照

jquery中$.ajax{}使用怎么没反应 上班儿第二天--新帖那么少-你们都么上班儿么? sql 2005 数据库邮件发送 错误 如何给用户控件设置属性 如何给自己创建的js对象赋予事件? 求问:linux下并行下载工具,精确到毫秒(ms) java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(ERR=1153)(VSNNUM=1 log-queries-not-using-indexes 求教gridview行点击和按钮点击冲突问题 FPGA和ARM之间的红外视频传输问题 如何将应用安装到sdcard2上 msde的安装和连接问题 solr和tomcat整合问题 org.apache.solr.common.SolrException log Access怎样通过摄像头抓取相片 最近想做一个虚拟键盘,遇到了一个问题请教 假日综合症 excel导入mysql数据问题 SQLServer2005导入导出问题 jsp嵌入的java代码如何获取js里面的var变量(在线等) Dom解析XML文件输出的<#text>是怎么回事? 困扰已久的问题-使用webservice保存图片老是出现GDI 中发生一般性错误 请教一下摄像头读取二维码的问题 怎么解决图片在myeclipse自带的浏览器可以显示,而外面的浏览器不能显示 求教注册DLL文件失败的问题 触发器 wordpress怎么使用ajax调用日志图片和标题 时间类型是设为datetimeg还是bigint型,哪种更好 急,急,急,急,利用储存过程把test表和text2表中的testsum数据相加,条件是两个表的testName和testBraId要一致的时候才相加. 画一个时钟的表针怎么画 用cout和printf输出局部变量的问题