帮忙看下怎么回事

invail 2010-03-29 10:47:39
#include "stdio.h"
#define N 10
main()
{
int score[N];
int i,high,sum=0;
float average;
for(i=0;i<N;i++){
scanf("%d",&score[i]);
sum+=score[i];}
for(high=score[0],i=0;i<N;i++)

if (score[i]>high)high=score[i];

average=(float)sum/10.0;
printf("sum=%f\n",sum);
printf("higher=%6d\n",high);
}



为什么输入数字 计数后 sum=0.000000那
...全文
68 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhd3767 2010-03-29
  • 打赏
  • 举报
回复
不过,对于X86体系结构来说,函数调用,整型一般往堆栈压,浮点数可能往X87栈寄存器上压
百度的!学习!
invail 2010-03-29
  • 打赏
  • 举报
回复
我看错了
fyhack 2010-03-29
  • 打赏
  • 举报
回复
sum 是int型,printf输出格式为%d
cattycat 2010-03-29
  • 打赏
  • 举报
回复
printf("sum=%d\n",sum);

浮点数按整数输出时,会不一样的,这要看浮点数的内存表示了。
yuzl32 2010-03-29
  • 打赏
  • 举报
回复
sum用错误的使用浮点格式输出。

#include <stdio.h>

#define N 10

int main()
{
int score[N];
int i,high,sum=0;
float average;

for(i=0;i<N;i++)
{
scanf("%d",&score[i]);
sum+=score[i];
}

for(high=score[0],i=0;i<N;i++)
if (score[i]>high)high=score[i];

average=(float)sum/10.0;

printf("sum=%d\n",sum); //更改为%d格式
printf("higher=%6d\n",high);
}
机智的呆呆 2010-03-29
  • 打赏
  • 举报
回复

printf("sum=%d\n",sum);

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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