黑马程序员技术交流社区
标题:
关于平均值函数的设计
[打印本页]
作者:
紮西诺尔布
时间:
2015-4-14 23:33
标题:
关于平均值函数的设计
要求“输入学生数并逐个输入学生的身高,然后输出身高的平均值”。
由于学生人数不确定,该如何设计,接收每次输入的学生的身高,不可能只定义一个身高变量???求解答???帮帮忙,谢谢!!!!!!
作者:
wslinke
时间:
2015-4-15 11:48
如果只是求平均值的话,可以定义一个身高总和
每次输入一个身高数据就加进身高总和
等输入完毕输出身高总和/学生人数
如果身高还有其他用处的话,可以定义一个float数组来存放,学生人数如果不太多,可以自己定义个数组容量
作者:
波阿波
时间:
2015-4-15 19:09
我就是来水水,我是波波
作者:
大白菜cabbage
时间:
2015-4-15 19:11
/*输入学生数并逐个输入学生的身高,然后输出身高的平局值
*/
#import <Foundation/Foundation.h>
int num_student();
double height_student(int students);
int main(int argc, const char * argv[]) {
//调用函数,获得学生个数
int student = num_student();
//调用函数,获得平均身高
double avg = height_student(student);
//打印学生的平均身高
printf("学生升高的平均值是:%.2f",avg);
return 0;
}
//接收用户输入的学生个数,并且进行判断是否合法.
int num_student(){
int students = 0;
char ch;
while (ch != '\n') {
printf("请输入学生个数\n");
rewind(stdin);
scanf("%d%c",&students,&ch);
}
//返回学生的个数.
return students;
}
//接收用户输入的学生的身高,并且判断输入是否合法.
double height_student(int students){
double height = 0,total_height = 0;
char ch;
int count = 1;
while (1) {
printf("请依次输入%d个学生的升高,现在是第%d个,身高单位为cm,请以合理整数格式输入!\n",students,count);
rewind(stdin);
scanf("%lf",&height);
scanf("%c",&ch);
//如果用户输入的不是整数,就跳转回去重新输入.
if (ch != '\n') {
continue;
}
//如果输入的升高太奇葩,跳回去重新输入.
if (height < 50 || height > 250) {
continue;
}
//如果用户输入的是整数,并且在合理取值范围内,输入的次数加1.
count++;
//计算目前的总身高.
total_height += height;
//判断当合理输入次数等于学生次数的时候,跳出循环.
if (count == (students + 1)) {
break;
}
}
//返回平均身高.
return total_height/students;
}
复制代码
作者:
zeizei
时间:
2015-4-15 20:09
板凳是大牛啊
作者:
执念
时间:
2015-4-15 20:58
#include<stdio.h>
int main()
{
int n,m;
float sum=0;
printf("请输入学生个数:\n");
scanf("%d",&n);
m=n;
while(m!=0){
float b;
printf("请输入学生身高:\n");
scanf("%*c%f",&b);
sum+=b;
m--;
}
printf("学生的平均值是:%.2f\n",sum/n);
return 0;
}
复制代码
是这样?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2