黑马程序员技术交流社区
标题:
C语言学习第六天--输入学生数并逐个输入学生的身高取平均!
[打印本页]
作者:
大白菜cabbage
时间:
2015-4-15 21:38
标题:
C语言学习第六天--输入学生数并逐个输入学生的身高取平均!
//
/*输入学生数并逐个输入学生的身高,然后输出身高的平局值
*/
#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;
}
复制代码
作者:
舒少勇
时间:
2015-4-15 21:46
大神的思维 太高深了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2