帮忙看下怎么回事
#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那
[解决办法]
printf("sum=%d\n",sum);
[解决办法]
sum用错误的使用浮点格式输出。
#include <stdio.h>#define N 10int 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);}
[解决办法]
printf("sum=%d\n",sum);
浮点数按整数输出时,会不一样的,这要看浮点数的内存表示了。
[解决办法]
sum 是int型,printf输出格式为%d