A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. //
  2. /*输入学生数并逐个输入学生的身高,然后输出身高的平局值
  3. */

  4. #import <Foundation/Foundation.h>
  5. int num_student();
  6. double height_student(int students);

  7. int main(int argc, const char * argv[]) {
  8.    
  9.     //调用函数,获得学生个数
  10.     int student = num_student();
  11.    
  12.     //调用函数,获得平均身高
  13.     double avg = height_student(student);
  14.    
  15.     //打印学生的平均身高
  16.     printf("学生升高的平均值是:%.2f",avg);
  17.    
  18.     return 0;
  19. }

  20. //接收用户输入的学生个数,并且进行判断是否合法.
  21. int num_student(){
  22.    
  23.     int students = 0;
  24.     char ch;
  25.    
  26.     while (ch != '\n') {
  27.         
  28.         printf("请输入学生个数\n");
  29.         rewind(stdin);
  30.         scanf("%d%c",&students,&ch);
  31.         
  32.     }
  33.    
  34.     //返回学生的个数.
  35.     return students;
  36. }

  37. //接收用户输入的学生的身高,并且判断输入是否合法.
  38. double height_student(int students){

  39.     double height = 0,total_height = 0;
  40.     char ch;
  41.     int count = 1;
  42.    
  43.     while (1) {
  44.         
  45.         printf("请依次输入%d个学生的身高,现在是第%d个,身高单位为cm,请以合理整数格式输入!\n",students,count);
  46.         
  47.         rewind(stdin);
  48.         
  49.         scanf("%lf",&height);
  50.         
  51.         scanf("%c",&ch);
  52.         
  53.         //如果用户输入的不是整数,就跳转回去重新输入.
  54.         if (ch != '\n') {
  55.             continue;
  56.         }
  57.         //如果输入的身高太奇葩,跳回去重新输入.
  58.         if (height < 50 || height > 250) {
  59.             continue;
  60.         }
  61.         //如果用户输入的是整数,并且在合理取值范围内,输入的次数加1.
  62.         count++;
  63.         
  64.         //计算目前的总身高.
  65.         total_height += height;
  66.         
  67.         //判断当合理输入次数等于学生次数的时候,跳出循环.
  68.         if (count == (students + 1)) {
  69.             break;
  70.         }
  71.     }
  72.    
  73.     //返回平均身高.
  74.     return total_height/students;
  75.    
  76. }
复制代码


1 个回复

正序浏览
大神的思维 太高深了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马