2016-10-03 3 views
0
 #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; } 

학생들의 불확 실한 양을 설정하려면이 현재의 코드를 수정 문제가 많이 있었다 이것은 내가 대신 3 시험 점수 (5) 학생의 이름을 inputing 너무 변경해야하는 코드 그것은이다 3 개의 퀴즈 점수를 가진 학생 중 미정 된 금액입니다. 사용자가 원하는 학생의 수를 입력 할 수 있도록 글을 쓸 수는 있지만 '미결정'으로 의미하는 것을 생각하지 않습니다. 원하는만큼 많은 학생 이름을 입력 할 수 있도록 작성하는 방법은 무엇입니까? 나는 항상 더 많은 것을 배우기를 원하며, 어떤 도움을 주시면 감사하겠습니다. 고맙습니다.나는이 C 코드

int bContinue = 1; 
while (bContinue) 
{ 
    // your code goes in here 

    printf("Enter 0 if you wanna stop\n"); 
    scanf("%d", &bContinue); 
} 
+0

사용자 입력이 끝나는 방법을 정의하는 것은 사용자 나 요구 사항 (종료, Ctrl-D, 계속할 것인지 묻는 등)에 따라 달라집니다. 요구 사항에 대해 명확하지 않은 경우 교직원에게 문의하십시오. 그 점을 분명히하도록 도울 수는 없습니다. 그러나 사용자 입력의 끝을 신호하는 한 가지 방법 : [while 루프가 C를 사용하여 Ctrl-D까지 입력을 요청하는 동안] (http://stackoverflow.com/questions/25770335/while-loop-asking-for-input-until-ctrl- d-using-c) – kaylum

+0

죄송합니다, 분명하겠습니다. 사용자가 학생을 입력 할 때까지는 프로그래머가 결정하지 않고 프로그래밍해야합니다. 고맙습니다. –

답변

0

당신은 while 루프와 for 루프를 대체함으로써 그렇게 할 수있다. 그러나 나는 주어진 다른 답을 연습 할 것이다. 고맙습니다!

+0

Downvoters : 나는 대답을 downvoting 신경 쓰지 않는다,하지만 당신이 여기서 무엇이 잘못되었는지 설명해 주시겠습니까? – ZenJ

0
 #include <stdio.h> 
int main() 
{ 
    /* variable definition: */ 
    char StudentName[100]; 
    float ExamValue, Sum, Avg; 
    int students,exams,num_values; 

    printf("How many students to find the average for? "); 
    scanf("%d", &num_values); 
// Loop through 5 Students 
for (students=0; students < num_values ; 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; } 

나는 사용자가 입력 양이 그래서이 코드를 내놓았다 수 있다는 것을 알아 냈 :