| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 488 人关注过本帖
标题:请大家帮忙寻找错误,不要正确答案(因为只有知道错误在哪里,下次才能够避 ...
只看楼主 加入收藏
小戏
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2012-7-11
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:5 
请大家帮忙寻找错误,不要正确答案(因为只有知道错误在哪里,下次才能够避免)
#include<stdio.h>
#include<malloc.h>

#define LEN sizeof(struct student)
struct student
    {int num;

    float score;
    struct student *next;
    };
   int n;
struct student *creat()
{struct student *head;
struct student *p1,*p2;
n=0;
p1=p2=(struct student*)malloc(LEN);
scanf("%d,%f",&p1->num,&p1->score);
head=NULL;
while(p1->num!=0)
{n=n+1;
if(n==1)
head=p1;
else p2->next=p1;
p2=p1;
p1=(struct student*)malloc(LEN);
scanf("%d,%f",&p1->num,&P1->score);
}
p2->next=NULL;
return(head);
}
void print(struct student *head)
{struct student *p;
printf("\nNow,These%d records are:\n",n);
p=head;
if(head!=NULL)
do
{printf("%1d %f\n",p->num,p->score);
p=p->next;
}while(p!=NULL);
}
void main()
{
struct student *head;
head=creat();
print(head);

}
搜索更多相关主题的帖子: 正确答案 next include return 
2012-08-20 11:24
justNPC
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:311
注 册:2012-8-11
收藏
得分:7 
首先 你先按照编译器的报错去改
就bi如 这一行 scanf("%d,%f",&p1->num,&P1->score); 编译器就会报错 undefined symbol 'P1'  原因就是你定义的是p1  使用的却是P1
这样编译能通过了 但运行起来打你出入数据是会报错    floating point formats not linked
原因出在   scanf("%d,%f",&p1->num,&p1->score);
你只要声明一个float型的中间变量,读入,然后赋值给p1->score,如   
  float   temp;   
  scanf("%f",&temp);   
  p1->score1   =   temp;   
这样运行就能正确输入
经验证修改后能得出正确结果
2012-08-20 12:49
justNPC
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:311
注 册:2012-8-11
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

运行结果
2012-08-20 12:50
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:7 
复制到VC++ 6.0 里,运行的时候只是那个P 大写了,改成小写就OK了!
要是没有VC++ ,只是看的话比较乱!
2012-08-20 14:28
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
收藏
得分:7 
唉 真的不爱占便宜 如二楼所说 p改成小写 在vc++6.0上运行就行  不过得注意输入时别落了“,”

喜欢睡觉 却经常熬夜
2012-08-20 14:46
小戏
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2012-7-11
收藏
得分:0 
谢谢各位大侠了,说实话,正确的程序我也有,也能够运行出正确的结果,但就是上面这个程序无法通过调试,我把两个程序比较了不下10遍,就是找不出问题的所在,实在是不甘心,所以才请教各位师兄的。真的谢谢大家了!
2012-08-20 23:39
快速回复:请大家帮忙寻找错误,不要正确答案(因为只有知道错误在哪里,下次才能 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058080 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved