使用无限输入进行循环

时间:2016-10-22 03:20:43

标签: c

几周前我已经开始了一个C编程课程,我很难学习如何使用无限输入创建循环。该代码最初设置为找到5名学生的平均成绩,每名学生有三个考试成绩。

我正在使用的代码是:

#include <stdio.h>
int main ()
{
  /* variable definition: */
  char StudentName[100];
  float ExamValue, Sum, Avg;
  int students,exams;
   // Loop through 5 Students
  for (students=0; students <5 ; students++) 
  {
     // reset Sum to 0
     Sum =0.0;  
     printf("Enter Student Name \n");
     scanf("%s", StudentName);   
     // Nested Loop for Exams
    for (exams=0; exams < 3; exams++)
    {
        printf ("Enter exam grade: \n");
        scanf("%f", &ExamValue);
        Sum += ExamValue;
    }   
    Avg = Sum/3.0;
    printf( "Average for %s is %f\n",StudentName,Avg);
  }
  return 0;
}

我需要允许无限制的输入,我已经尝试过改变&#34;学生&lt; 5&#34;两个&#34; student =!&#34;和#34;学生

也可以有人帮我理解代码中的这一行吗?

char StudentName[100];

我的课程甚至没有提及,我无法在网上找到它。如果有人能指出我学习C的好资料,请告诉我。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果你真的想要无限制的输入改变外部for循环    例如for(;;)

#include <stdio.h>
int main ()
{
  /* variable definition: */
  char StudentName[100];
  float ExamValue, Sum, Avg;
  int students,exams;
   // Loop until ctrl-c or program terminates. 
  for (;;) 
  {
     // reset Sum to 0
     Sum =0.0;  
     printf("Enter Student Name \n");
     scanf("%s", StudentName);   
     // Nested Loop for Exams
    for (exams=0; exams < 3; exams++)
    {
        printf ("Enter exam grade: \n");
        scanf("%f", &ExamValue);
        Sum += ExamValue;
    }   
    Avg = Sum/3.0;
    printf( "Average for %s is %f\n",StudentName,Avg);
  }
  return 0;
}

您的下一个问题应该是如何清除阵列或如何处理信号?