2016-10-03 9 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つの学生名を入力するのではなく、 3つのクイズの得点で未定の金額になります。私はそれを書くことができるように、ユーザーは彼らが望む学生の量を入力することができますが、私はそれが "未定"という意味ではないと思っています。あなたが書くことができる方法は何ですか?あなたが望む数の学生名を入力することができます。私はいつもより多くのことを学びたいと思っています。ありがとうございました。私はこのコードを修正するのに多くの手間を掛けていました。

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

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

ユーザの入力が終了する方法を定義するのはあなた次第です(終了するにはq、ctrl-dは続けるかどうかなど)。要件について明確でない場合は、教員にお尋ねください。あなたはそれをクリアするのを手助けすることはできません。しかし、ユーザーの入力の終わりを知らせる1つの方法:[Cを使用してctrl-dまで入力を要求するWhileループ(http://stackoverflow.com/questions/25770335/while-loop-asking-for-input-until-ctrl- d-using-c) – kaylum

+0

申し訳ありませんが、わかりました。それはプログラマによって決定されなければならず、ユーザが学生を入力するまでプログラムしなければならない。ありがとうございました。 –

答えて

0

あなたは、whileループとforループを交換することによってそれを行うことができます。しかし、私は与えられた他の答えを練習するつもりです。ありがとうございました!

+0

Downvoters:私は答えを下降させても構いませんが、何が間違っているのか説明してもらえますか? – 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; } 

は、私は、ユーザーが入力量はので、私は、このコードを思いついた可能性があることを考え出し:

関連する問題