帮帮小弟我吧,小弟我找不出异常。他总是多出一个人
帮帮我吧,我找不出错误。他总是多出一个人:
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
int main(int argc, char* argv[])
{
int i,num=0;
float heigh[10]={0};
double average=0.0;
printf("请输入学生人数:\n");
scanf("%d",&num);
for(i=num;i>0;i--)
{
printf("循环次数=%d",(num-i));
printf("请输入学生身高:%d\n");
scanf("%f\n",&heigh[num-i]);
average=average+heigh[num-i];
};
average=average/num;
printf("平均身高为:%f\n",average);
system("pause");
return 0;
}
------解决方案--------------------
把
scanf("%f\n",&heigh[num-i]);
改为
scanf("%f",&heigh[num-i]);
就ok了
------解决方案--------------------
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
int main(int argc, char* argv[])
{
int i,num=0;
float heigh[10]={0};
double average=0.0;
printf("请输入学生人数:\n");
scanf("%d",&num);
for(i=num;i>0;i--)
{
printf("循环次数=%d",(num-i));
printf("请输入学生身高:%d\n");
scanf("%f\n",&heigh[num-i]);
average=average+heigh[num-i];
};
average=average/num;
printf("平均身高为:%f\n",average);
system("pause");
return 0;
}
------解决方案--------------------
把
scanf("%f\n",&heigh[num-i]);
改为
scanf("%f",&heigh[num-i]);
就ok了
------解决方案--------------------
- C/C++ code
#include "stdafx.h" #include "stdio.h" #include "stdlib.h" int main(int argc, char* argv[]) { int i,num=0; float heigh[10]={0}; double average=0.0; printf("请输入学生人数:\n"); scanf("%d",&num); for(i=num;i>0;i--) { printf("循环次数=%d",(num-i)); printf("请输入学生身高:%d\n"); scanf("%f",&heigh[num-i]); //这里不需要"\n",scanf识别回车符的 当你输入回车时出现换行 average=average+heigh[num-i]; }; average=average/num; printf("平均身高为:%f\n",average); system("pause"); return 0; }