| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 281 人关注过本帖
标题:那位仁兄帮个忙找找错误,实在是无能为力了
收藏  订阅  推荐  打印 
a207988
Rank: 1
等级:新手上路
帖子:11
积分:226
注册:2008-6-2
那位仁兄帮个忙找找错误,实在是无能为力了

那位仁兄帮个忙找找错误,实在是无能为力了 找滴俺们想爆发了。
编译器提示是一个错误,但是不知道还有别的其他啥错误没。谢谢了


#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define NULL 0

typedef struct node
{float xi;
int mi;
struct node *next;}L;

void InitList(L **head)
{  if((*head=(L*)malloc(sizeof(L)))==NULL)  exit(1);
     (*head)->next=NULL;}

int ListInsert(L *head,int i,float L.xi,int L.mi)
{L *p,*q,*head;
   p=head;
  if((q=(L*)malloc(sizeof(L)))==NULL) exit(1);
    q.xi=L.xi;
    q.mi=L.mi;
    q->next=p->next;
    p->next=q;
    return 1;}

int ListLength(L *head)
{L *p=head;
  int size=0;
  while(p->next!=NULL)
  {p=p->next;
   size++;}
  return size;}

int ListGet(L *head,int i,int *L.xi,int *L.mi)
{L *p;
  int j;
  p=head;
  j=-1;
  while(p->next!=NULL&&j<i)
  {p=p->next;
   j++;}
   if(j!=i)
   {printf("get an error");
   return 0;}
*L.xi=p.xi;
*L.mi=p.mi;
return 1;}

void combine(L *head,int n)
{ L *p,*q,*t;
    int a,b,i,j,temp1,temp2;
    t=p=q=head;
    q=t->next;
    for(i=0;i<n;i++)
    {
      if(p->next==q)
        p=p;
      else
        p=p->next;
      for(j=0;j<n-i;j++)
        {p.xi+=q.xi;
         t->next=q->next;
         free(q);
         q=q->next;}
      if(t->next==q)
        t=t;
      else
        t=t->next;
      if(p.mi>q.mi)
        {tmep1=p.mi;
         p.mi=q.mi;
         q.mi=p.mi;

         tmep2=p.xi;
         p.xi=q.xi;
         q.xi=temp2;}}

void key(L *h,float sum,float x)
{int *p; int i,j=1,xi,mi;   float sum=0.0;
  p=h;
  for(i=0;i<ListLength(h);i++)
  {
    if(ListGet(h,i,&xi,&mi)==0)
     {printf("error!\n");
       return; }
    else { printf("%d  %d",xi,mi);
            sum=sum+xi*mi(mi,x,j);
            printf("%f",sum);}}

int mi(int n,float x,int j)
{
   int i;
   for(i=0;i<n;i++)
   {
     j=j*x;
   }
   return j;
}

main()
{ int i,m;
  L *h,*p;
  float x,sum;
  m=10;
  InitList(&h);
printf("please input the Expressions");

for(i=1;i<=m;i++)
{scanf("%d",&h.xi);
  scanf("%d",&h.mi);
  ListInsert(h,i,h.xi,h.mi);}
    combine(*head,m);
  printf("please intput X");
  scanf("%f",&x);
  key(h,sum,x);}

[ 本帖最后由 a207988 于 2008-6-7 01:32 编辑 ]

[ 本帖最后由 a207988 于 2008-6-7 01:58 编辑 ]

[ 本帖最后由 a207988 于 2008-6-7 02:35 编辑 ]
搜索更多相关主题的帖子: 仁兄  无能为力  
2008-6-7 00:25
a207988
Rank: 1
等级:新手上路
帖子:11
积分:226
注册:2008-6-2

会不会是代码太长了,都~~~~~
2008-6-7 01:34
leilei88
Rank: 2
等级:注册会员
帖子:123
积分:1548
注册:2008-3-30

1个错误?我怎么编译出39个错误。。
2008-6-7 19:08
now
Rank: 4
来自:广州
等级:高级会员
帖子:544
积分:5872
注册:2007-11-9

不止一个错误吧!N多个!
LZ还是继续多看些书。

GIS
Geographic Information System
你在哪里?——》你的坐标?
2008-6-7 21:15
neverTheSame
Rank: 6Rank: 6
来自:江西农业大学
等级:金牌会员
威望:9
帖子:1486
积分:15858
注册:2006-11-24

int ListInsert(L *head,int i,float L.xi,int L.mi) /*L.xi/L.mi 命名错误*/{L *p,*q,*head;  /*与参数同名*/
   p=head;
  if((q=(L*)malloc(sizeof(L)))==NULL) exit(1);
    q.xi=L.xi;   /*q是一个指针,q->xi*/
    q.mi=L.mi;   /*同上*/


int ListGet(L *head,int i,int *L.xi,int *L.mi)   /*L.xi/L.mi 命名错误*/

应广大C语言学习者的强烈要求,为了让更多的人能够使用上<<C语言库函数查询器>> 。产品的价格调整为20元人民币,欢迎广大C语言学习来购买。联系QQ:475818502,E-mail:zhaoxufeng9997@126.com,也可留言.
2008-6-7 21:49
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.058576 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved