| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 856 人关注过本帖
标题:[求助]程序错(一个评分的程序),请各位指教!
取消只看楼主 加入收藏
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
 问题点数:0 回复次数:5 
[求助]程序错(一个评分的程序),请各位指教!

从键盘上输入一组分数,以输入“-1”结束输入,去掉一个最高分去掉一个最底分,然后求平均分
编译能通过,但是输入数据以后 回到用户屏幕 没有结果 只有提示:floaing point error:divide by 0

请帮偶看看,错在哪里了
先谢谢了!!!

#include "stdio.h"
int aa(float *s) //定义函数找出最大数所对应的下标 并返回
{
int i,n; float max=*s;
for(i=0; ;i++)
{ if(*s==-1) break; if(max<=*s) {max=*s; n=i; }
s++;
}
return n;

}

int bb(float *s) //定义函数找出最小数所对应的下标 并返回
{
int i,n; float min=*s;
for(i=0; ;i++)
{ if(*s==-1) break; if(min>=*s) {min=*s; n=i; }
s++;
}
return n;
}


main()
{
int i=0,a,b; float a1[100],avg=0,c,d;
printf("\n\nInput some numbers :");
while(1) //使用循环语句输入数据 ,直到输入-1 输入结束
{ scanf("%f",&a1[i]);
if(a1[i]<-2||a1[i]>100)
{ printf("This number is wrong,please enter it again!!!");
scanf("%f",&a1[i]);
} i++; if(a1[i-1]==-1) break;
}
a=aa(a1); b=bb(a1); //调用函数

for(i=a; ;i++) { if(a1[i+1]==-1) break; a1[i]=a1[i+1]; } // 将最大数去掉 可能这两句有问题
for(i=b; ;i++) { if(a1[i+1]==-1) break; a1[i]=a1[i+1]; } // 将最小数去掉

for(i=0; ;i++) { if(a1[i]==-1) break; avg+=a1[i]; avg/=i-1; } //求平均分
printf("\n\nThe avg=%.2f\n",avg);
for(i=0; ;i++) { if(a1[i]==-1) break; printf(" %.2f",a1[i]); } //输出去掉最大和最小数后的数组
getch();
}

大家看后可以复制到 C软件中运行一下 ,谢谢!!!

[此贴子已经被作者于2006-4-10 13:17:56编辑过]

搜索更多相关主题的帖子: 评分 int max float 
2006-04-10 09:06
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
得分:0 
定义的指针并不是想要返回值,主要是返回最大或最小值下标

##今日不签名·#¥!!!
2006-04-10 09:10
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
得分:0 
哦,说具体点好吗

##今日不签名·#¥!!!
2006-04-10 13:40
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
得分:0 

谢谢了,看看能不能运行


##今日不签名·#¥!!!
2006-04-10 23:48
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
得分:0 

谢谢大家,特别谢谢queyapahaha,你帮我找到并改正了一些错误。
在把最大和最小数去掉的那几句有点问题,象你上面说的做的话 在有几种情况下回得不到正确答案

把第二个调用语句放在
for(i=b; ;i++) {
if(a1[i+1]==-1) {
a1[i]=a1[i+1];
break;}

a1[i]=a1[i+1}
就完全对了


##今日不签名·#¥!!!
2006-04-11 14:38
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
得分:0 
但是我还是有个问题:为什么这样就对了呢???

##今日不签名·#¥!!!
2006-04-11 14:40
快速回复:[求助]程序错(一个评分的程序),请各位指教!
数据加载中...
 
   



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

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