求助!!

javaadu
博客专家认证
2009-06-01 02:29:58
/*计算n门课程的平均值,计算结果作为函数值返回*/
#include<stdio.h>
int fun(int arry[],int n)
{
int i,m;
m=0;
for(i=0;i<n;i++)
{
m=m+arry[i];
}
m=m/n;
return(m);
}
void main()
{
int a[8]={0};
int j,n;
n=0;
printf("请分别输入八门课程的成绩:\n");
for(j=0;j<8;j++)
scanf("%d",&a[j]);
n=fun(a,8);
printf("平均成绩是:%d\n",n);
}
...全文
125 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
javaadu 2009-06-05
  • 打赏
  • 举报
回复
是的,我已经解决了,以下的代码运行就可以了:
#include<stdio.h>
float fun(float arry[],int n)
{
int i;
float m=0;
for(i=0;i<n;i++)
{
m=m+arry[i];
}
m = m/n;
return m;
}
void main()
{
float a[8]={0};
int j;
float n;
printf("请分别输入八门课程的成绩:\n");
for(j=0;j<8;j++)
scanf("%f",&a[j]);
n=fun(a,8);
printf("平均成绩是:%f\n",n);
}
FCARM 2009-06-01
  • 打赏
  • 举报
回复
还有就是你那个N也是整形的,
小数永远都以截掉!
FCARM 2009-06-01
  • 打赏
  • 举报
回复
你应该把返回类型必为浮点型吧
FCARM 2009-06-01
  • 打赏
  • 举报
回复
没有错,返回的时候,把浮点型转化成整型了
vanguards 2009-06-01
  • 打赏
  • 举报
回复
题目没有问题。
但是求平均值通常使用浮点型数据,两个整数相除仍然是整数!
kernelshell 2009-06-01
  • 打赏
  • 举报
回复
/*计算n门课程的平均值,计算结果作为函数值返回*/
#include <stdio.h>
double fun(int arry[],int n) {
int i;
double m;
m=0.0;
for(i=0;i <n;i++)
m=m+arry[i];
m=m/n;

return(m);
}
void main() {
int a[8]={0};
int j;
double n;
n=0.0;
printf("请分别输入八门课程的成绩:\n");
for(j=0;j <8;j++)
scanf("%d",&a[j]);
n=fun(a,8);
printf("平均成绩是:%f\n",n);
}
没什么不对的地方啊,估计你的编译器有问题啊。
kernelshell 2009-06-01
  • 打赏
  • 举报
回复
有点问题,分数值怎么能是整型呢,一般取双精度啊?我运行了,不是(运行结果总是“sum=1”)。
你退出编译器,再重新启动编译看看啊。
飞天御剑流 2009-06-01
  • 打赏
  • 举报
回复
运行了一下,没事啊,结果也正确.你用啥编译器?
javaadu 2009-06-01
  • 打赏
  • 举报
回复
运行结果总是“sum=1”,受不了,我也是找不到问题,,,,,
javaadu 2009-06-01
  • 打赏
  • 举报
回复
运行结果总是“sum=1”,受不了,我也是找不到问题,,,,,
飞天御剑流 2009-06-01
  • 打赏
  • 举报
回复
发生了啥问题?
mengjfu 2009-06-01
  • 打赏
  • 举报
回复
有问题嘛
很好啊
goodname 2009-06-01
  • 打赏
  • 举报
回复
问题在哪呢

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧