帮帮我吧,我找不出错误。他总是多出一个人:
#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;}