| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 881 人关注过本帖
标题:[求助]这个异常反应怎么回事?
取消只看楼主 加入收藏
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
结帖率:100%
收藏
 问题点数:0 回复次数:4 
[求助]这个异常反应怎么回事?

这个程序是输入M个学生的,N门课的成绩....然后求平均成绩等等什么的.....下面是我写的程序....
成绩的输入我是通过input函数来实现的...但是现在出现了个问题,没有什么语法错误,但是在编译的时候,在调用INPUT函数的时候,SCANF执行不了..不知道为什么...TC下看到的结果 是这样的...
Input the score:
NO1: scanf : floating point formats not linked
Abnormal program termination

然后就自动退出了.后面不再执行.不知道是怎么回事....请各位不吝指教...谢谢


#define M 10
#define N 5

float student_average(float (*p)[N],int stuno)/*求学生平均成绩*/
{ float sum=0;
int i;
for(i=0;i<N;i++)
sum=sum+*(*(p+stuno)+i);
return sum/N;
}


float course_average(float (*p)[N],int courseno)/*求每门课的平均成绩*/
{ float sum=0;
int i;
for(i=0;i<M;i++)
sum=sum+*(*(p+i)+courseno);
return sum/M;
}


float highest(float (*p)[N]) /*计算最高分*/
{ float most=0;
int i,j;
printf("Highest score:\n");
for(i=0;i<M;i++)
for(j=0;j<N;j++)
if(most<*(*(p+i)+j))
most=*(*(p+i)+j);
for(i=0;i<M;i++)
for(j=0;j<N;j++)
if(*(*(p+i)+j)==most)
printf("Highest score:%3.2f NO.%d course:%d\n",most,i+1,j+1);
}


float fangcha(float (*p)[N]) /*求方差*/
{ int i;
float result,sum1=0,sum2=0;
for(i=0;i<M;i++)
{sum1=sum1+student_average(p,i)*student_average(p,i);
sum2=sum2+student_average(p,i);
}
result=sum1/N-(sum2/N)*(sum2/N);
return result;
}


void input(float (*p)[N]) /*输入成绩*/
{ int i,j;
printf("Input the score:\n");
for(i=0;i<M;i++)
{printf("NO%d:",i+1);

for(j=0;j<N;j++)
scanf("%f",*(p+i)+j);
printf("\n");

}

}


void main()
{ float stu[M][N];
int i,j;
input(stu);
for(i=0;i<M;i++)
printf("the average score of NO%d is: %3.2f\n",i+1,student_average(stu,i));
for(j=0;j<N;j++)
printf("the average score of course%d is: %3.2f\n",j+1,course_average(stu,j));
highest(stu);
printf("Fangcha: %3.2f\n",fangcha(stu));
getch();
}


[此贴子已经被作者于2006-11-16 16:59:16编辑过]

搜索更多相关主题的帖子: 异常反应 
2006-11-16 16:53
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
以下是引用我不是郭靖在2006-11-16 19:48:14的发言:

除非你用TC,不然不会出现这个问题

不会吧....WIN-TC也出现同样的问题啊...


这个社会太复杂。。。
2006-11-16 22:57
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
回四楼的:如果那样改的话..我并不知道为什么前面部分确实可以运行了...但是到求方差的时候又出错了...因为那两个指针很明显不匹配的....我找了好长时间,,,没发现有什么错误....但是就是不能通过....晕了...既然有人说VC里面一切正常...难道这个错误是TC本身的BUG....不会吧?

[此贴子已经被作者于2006-11-16 23:01:19编辑过]



这个社会太复杂。。。
2006-11-16 23:00
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
以下是引用meiling01在2006-11-22 14:27:37的发言:
麻烦问一下楼主,你的方差的计算方法我怎么看不懂啊?麻烦您解释一下吧。谢谢您!

抱歉,一直没看到。。。那个方差计算是套用公式的。。。谭的书的习题。。。好像是8.14题。。。你看看吧。。。那个公式这里不方便输入进来。。。。


这个社会太复杂。。。
2006-11-28 15:17
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
回11楼的。。那个虽然无返回值,但是设成float也无妨的。。。。

这个社会太复杂。。。
2006-11-28 15:18
快速回复:[求助]这个异常反应怎么回事?
数据加载中...
 
   



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

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