Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        4年前关闭。
                                                                                            
                
        
printf("\nDirection: Choose the letter of the correct answer");
printf("\n \n1. What is the REAL name of BILL GATES?");
printf("\nA. William Henry Bill Gates III \tB.Steve Jobs  \tC. William Henry Bill Gates  \tD. William Henry Bill Gates II");
printf("\nAnswer?");
scanf("%s", &answer1);
if (answer1 == 'A' || answer1 == 'a') score++;
else;
score;
printf("\n2. Bill Gates was born in?");
printf("\nA.Washington DC \tB. Seattle, Washington \tC. United States of America \tD. Los Angles, California");
printf("\nAnswer?");
scanf("%s", &answer2);
if (answer2 == 'B' || answer2 == 'b') score++;
else;
score;
printf("\n3. Who was the Co-Founder of Windows?");
printf("\nA. Ray Allen \tB. Paul Allen  \tC. Patrick Allen \tD. Leandro Allen");
printf("\nAnswer?");
scanf("%s", &answer3);
if (answer3 == 'B' || answer3 == 'b') score++;
else;
score;
printf("\n4. When did the first WINDOWS launched?");
printf("\nA. December 20, 1985 \tB. October 20, 1985 \tC. November 20, 1985 \tD. December 31, 1998");
printf("\nAnswer?");
scanf("%s", &answer4);
if (answer4 == 'C' || answer4 == 'c') score++;
else;
score;
printf("\n5. What is the REAL name of STEVE JOBS?");
printf("\nA. Steven Paul  Jobs \tB. Paul Leandro Lanot \tC. Steven Paul Jobs II \tD. Steve Paul Jobs");
printf("\nAnswer?");
scanf("%s", &answer5);
if (answer5 == 'A' || answer5 == 'a') score++;
else;
score;
printf("\n6. Three states of matter.");
printf("\nA.density, volume and weight  \tB. solid, liquid, and gas \tC. water, metal and gases \tD. water, air and gases");
printf("\nAnswer?");
scanf("%s", &answer6);
if (answer6 == 'B' || answer6 == 'b') score++;
else;
score;
printf("\n7. The temperature at which a substance changes from a liquid to a gas.");
printf("\nA. Freezing point   \tB. Melting point \tC.Boiling point \tD. Condensation point");
printf("\nAnswer?");
scanf("%s", &answer7);
if (answer7 == 'C' || answer7 == 'c') score++;
else;
score;
printf("\n8.The temperature at which a substance changes from a liquid to a solid");
printf("\nA. Freezing point \tB.Boiling point \tC. Melting point \tD. Condensation point");
printf("\nAnswer?");
scanf("%s", &answer8);
if (answer8 == 'A' || answer8 == 'a') score++;
else;
score;
printf("\n9. Anything that has definite volume but no definite shape.");
printf("\nA.  Solid  \tB. Metal \tC. Liquid \tD. Gas");
printf("\nAnswer?");
scanf("%s", &answer9);
if (answer9 == 'B' || answer9 == 'b') score++;
else;
score;
printf("\n10. The amount of space something takes up.");
printf("\nA. Density \tB. Volume \tC. Mass \tD. Length");
printf("\nAnswer?");
scanf("%s", &answer10);
if (answer10 == 'B' || answer10 == 'b') score++;
else;
score;
printf("\n11. The temperature at which a substance changes from a gas to liquid.");
printf("\nA. boiling point \tB. condensation point \tC. freezing point \tD. melting point");
printf("\nAnswer?");
scanf("%s", &answer11);
if (answer11 == 'B' || answer11 == 'b') score++;
else;
score;
printf("\n12. The temperature at which a substance changes from a solid to a liquid.");
printf("\nA. Condensation point \tB. boiling point \tC. freezing point \tD. Melting point");
printf("\nAnswer?");
scanf("%s", &answer12);
if (answer12 == 'D' || answer12 == 'd') score++;
else;
score;
printf("\n13. Which of Newton's Three Laws does the following statement satisfy? For every action there is an equal and opposite reaction.");
printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD. All of the above");
printf("\nAnswer?");
scanf("%s", &answer13);
if (answer13 == 'C' || answer13 == 'c') score++;
else;
score;
printf("\n14. Which of Newton's Three Laws does the following statement satisfy? Every object in a state of uniform motion tends to remain in that state of motion unless an external force is applied to it.");
printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD.  All of the above");
printf("\nAnswer?");
scanf("%s", &answer14);
if (answer14 == 'A' || answer14 == 'a') score++;
else;
score;
printf("\n15. Which of Newton's three laws does the following example illustrate? If you have a hockey puck sliding along a table, it will eventually come to a stop.");
printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD.  All of the above");
printf("\nAnswer?");
scanf("%s", &answer15);
if (answer15 == 'A' || answer15 == 'a') score++;
else;
score;
printf("\n16. In the following example, what are the forces that are acting on the ball? Check all that apply. If a ball is thrown in the air, it will keep going the same velocity unless a force changes the velocity (speed and direction).");
printf("\nA. air friction \tB. gravity \tC. resistance of the ground \tD. all of the above");
printf("\nAnswer?");
scanf("%s", &answer16);
if (answer16 == 'D' || answer16 == 'd') score++;
else;
score;
printf("\n17. Which law states the need to wear seatbelts?");
printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD.  None of the above");
printf("\nAnswer?");
scanf("%s", &answer17);
if (answer17 == 'A' || answer17 == 'a') score++;
else;
score;
printf("\n18.What is another name for the Newton's first law of motion?");
printf("\nA.Law of Acceleration \tB.Law of Velocity \tC.Law of Inertia \tD.Law of Mass");
printf("\nAnswer?");
scanf("%s", &answer18);
if (answer18 == 'C' || answer18 == 'c') score++;
else;
score;
printf("\n19.Which of Newton's Three Law does the following example illustrate? The blood in your head rushes to your feet when riding on an elevator this is descending and abruptly stops. ");
printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD.  None of the above");
printf("\nAnswer?");
scanf("%s", &answer19);
if (answer19 == 'A' || answer19 == 'a') score++;
else;
score;
printf("\n20. A triangle with one angle greater than 90 degrees.");
printf("\nA. equilateral triangle \tB. obtuse triangle \tC. acute triangle \tD. isosceles triangle");
printf("\nAnswer?");
scanf("%s", &answer20);
if (answer20 == 'B' || answer20 == 'b') score++;
else;
score;
printf("\n21. A triangle with all three angles less than 90 degrees.");
printf("\nA. equilateral triangle \tB. obtuse triangle \tC. acute triangle \tD. isosceles triangle");
printf("\nAnswer?");
scanf("%s", &answer21);
if (answer21 == 'C' || answer21 == 'c') score++;
else;
score;
printf("\n22.A triangle with one angle equal to 90 degrees.");
printf("\nA.right triangle \tB.equilateral triangle \tC. acute triangle \tD. isosceles triangle");
printf("\nAnswer?");
scanf("%s", &answer22);
if (answer22 == 'A' || answer22 == 'a') score++;
else;
score;
printf("\n23.A triangle having three equal sides.");
printf("\nA. equilateral triangle \tB. obtuse triangle \tC. acute triangle \tD. right triangle");
printf("\n23.Answer?");
scanf("%s", &answer23);
if (answer23 == 'D' || answer23 == 'd') score++;
else;
score;
printf("\n24.The sum of the measures of all three sides of a triangle.");
printf("\nA.area \tB. perimeter \tC. diameter \tD.none of the above");
printf("\nAnswer?");
scanf("%s", &answer24);
if (answer24 == 'B' || answer24 == 'b') score++;
else;
score;
printf("\n25.In right triangle, the side opposite to right angle is called");
printf("\nA. altitude \tB.hypotenuse \tC. angle bisector \tD.none of the above");
printf("\nAnswer?");
scanf("%s", &answer25);
if (answer25 == 'B' || answer25 == 'b') score++;
else;
score;

printf("\n\t\tTEST Score=%d", score);

最佳答案

您正在读取错误的scanf格式的答案:%sstdin读取单词并将其存储到char数组中,该数组为其接收指针。您传递单个char的地址。您应该写:

char answer1;

scanf(" %c", &answer1);
if (answer1 == 'A' || answer1 == 'a')
    score++;


对于所有其他答案,依此类推。

请注意,应将score定义为int并初始化为0

这是更正的版本:

#include <stdio.h>

int main(void) {
    int score = 0;
    char answer1, answer2, answer3, answer4, answer5;
    char answer6, answer7, answer8, answer9, answer10;
    char answer11, answer12, answer13, answer14, answer15;
    char answer16, answer17, answer18, answer19, answer20;
    char answer21, answer22, answer23, answer24, answer25;

    printf("\nDirection: Choose the letter of the correct answer");
    printf("\n \n1. What is the REAL name of BILL GATES?");
    printf("\nA. William Henry Bill Gates III \tB.Steve Jobs  \tC. William Henry Bill Gates  \tD. William Henry Bill Gates II");
    printf("\nAnswer?");
    scanf(" %c", &answer1);
    if (answer1 == 'A' || answer1 == 'a') score++;
    printf("\n2. Bill Gates was born in?");
    printf("\nA.Washington DC \tB. Seattle, Washington \tC. United States of America \tD. Los Angles, California");
    printf("\nAnswer?");
    scanf(" %c", &answer2);
    if (answer2 == 'B' || answer2 == 'b') score++;
    printf("\n3. Who was the Co-Founder of Windows?");
    printf("\nA. Ray Allen \tB. Paul Allen  \tC. Patrick Allen \tD. Leandro Allen");
    printf("\nAnswer?");
    scanf(" %c", &answer3);
    if (answer3 == 'B' || answer3 == 'b') score++;
    printf("\n4. When did the first WINDOWS launched?");
    printf("\nA. December 20, 1985 \tB. October 20, 1985 \tC. November 20, 1985 \tD. December 31, 1998");
    printf("\nAnswer?");
    scanf(" %c", &answer4);
    if (answer4 == 'C' || answer4 == 'c') score++;
    printf("\n5. What is the REAL name of STEVE JOBS?");
    printf("\nA. Steven Paul  Jobs \tB. Paul Leandro Lanot \tC. Steven Paul Jobs II \tD. Steve Paul Jobs");
    printf("\nAnswer?");
    scanf(" %c", &answer5);
    if (answer5 == 'A' || answer5 == 'a') score++;
    printf("\n6. Three states of matter.");
    printf("\nA.density, volume and weight  \tB. solid, liquid, and gas \tC. water, metal and gases \tD. water, air and gases");
    printf("\nAnswer?");
    scanf(" %c", &answer6);
    if (answer6 == 'B' || answer6 == 'b') score++;
    printf("\n7. The temperature at which a substance changes from a liquid to a gas.");
    printf("\nA. Freezing point   \tB. Melting point \tC.Boiling point \tD. Condensation point");
    printf("\nAnswer?");
    scanf(" %c", &answer7);
    if (answer7 == 'C' || answer7 == 'c') score++;
    printf("\n8.The temperature at which a substance changes from a liquid to a solid");
    printf("\nA. Freezing point \tB.Boiling point \tC. Melting point \tD. Condensation point");
    printf("\nAnswer?");
    scanf(" %c", &answer8);
    if (answer8 == 'A' || answer8 == 'a') score++;
    printf("\n9. Anything that has definite volume but no definite shape.");
    printf("\nA.  Solid  \tB. Metal \tC. Liquid \tD. Gas");
    printf("\nAnswer?");
    scanf(" %c", &answer9);
    if (answer9 == 'B' || answer9 == 'b') score++;
    printf("\n10. The amount of space something takes up.");
    printf("\nA. Density \tB. Volume \tC. Mass \tD. Length");
    printf("\nAnswer?");
    scanf(" %c", &answer10);
    if (answer10 == 'B' || answer10 == 'b') score++;
    printf("\n11. The temperature at which a substance changes from a gas to liquid.");
    printf("\nA. boiling point \tB. condensation point \tC. freezing point \tD. melting point");
    printf("\nAnswer?");
    scanf(" %c", &answer11);
    if (answer11 == 'B' || answer11 == 'b') score++;
    printf("\n12. The temperature at which a substance changes from a solid to a liquid.");
    printf("\nA. Condensation point \tB. boiling point \tC. freezing point \tD. Melting point");
    printf("\nAnswer?");
    scanf(" %c", &answer12);
    if (answer12 == 'D' || answer12 == 'd') score++;
    printf("\n13. Which of Newton's Three Laws does the following statement satisfy? For every action there is an equal and opposite reaction.");
    printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD. All of the above");
    printf("\nAnswer?");
    scanf(" %c", &answer13);
    if (answer13 == 'C' || answer13 == 'c') score++;
    printf("\n14. Which of Newton's Three Laws does the following statement satisfy? Every object in a state of uniform motion tends to remain in that state of motion unless an external force is applied to it.");
    printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD.  All of the above");
    printf("\nAnswer?");
    scanf(" %c", &answer14);
    if (answer14 == 'A' || answer14 == 'a') score++;
    printf("\n15. Which of Newton's three laws does the following example illustrate? If you have a hockey puck sliding along a table, it will eventually come to a stop.");
    printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD.  All of the above");
    printf("\nAnswer?");
    scanf(" %c", &answer15);
    if (answer15 == 'A' || answer15 == 'a') score++;
    printf("\n16. In the following example, what are the forces that are acting on the ball? Check all that apply. If a ball is thrown in the air, it will keep going the same velocity unless a force changes the velocity (speed and direction).");
    printf("\nA. air friction \tB. gravity \tC. resistance of the ground \tD. all of the above");
    printf("\nAnswer?");
    scanf(" %c", &answer16);
    if (answer16 == 'D' || answer16 == 'd') score++;
    printf("\n17. Which law states the need to wear seatbelts?");
    printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD.  None of the above");
    printf("\nAnswer?");
    scanf(" %c", &answer17);
    if (answer17 == 'A' || answer17 == 'a') score++;
    printf("\n18.What is another name for the Newton's first law of motion?");
    printf("\nA.Law of Acceleration \tB.Law of Velocity \tC.Law of Inertia \tD.Law of Mass");
    printf("\nAnswer?");
    scanf(" %c", &answer18);
    if (answer18 == 'C' || answer18 == 'c') score++;
    printf("\n19.Which of Newton's Three Law does the following example illustrate? The blood in your head rushes to your feet when riding on an elevator this is descending and abruptly stops. ");
    printf("\nA. Newton's First Law \tB. Newton's Second Law \tC. Newton's Third Law \tD.  None of the above");
    printf("\nAnswer?");
    scanf(" %c", &answer19);
    if (answer19 == 'A' || answer19 == 'a') score++;
    printf("\n20. A triangle with one angle greater than 90 degrees.");
    printf("\nA. equilateral triangle \tB. obtuse triangle \tC. acute triangle \tD. isosceles triangle");
    printf("\nAnswer?");
    scanf(" %c", &answer20);
    if (answer20 == 'B' || answer20 == 'b') score++;
    printf("\n21. A triangle with all three angles less than 90 degrees.");
    printf("\nA. equilateral triangle \tB. obtuse triangle \tC. acute triangle \tD. isosceles triangle");
    printf("\nAnswer?");
    scanf(" %c", &answer21);
    if (answer21 == 'C' || answer21 == 'c') score++;
    printf("\n22.A triangle with one angle equal to 90 degrees.");
    printf("\nA.right triangle \tB.equilateral triangle \tC. acute triangle \tD. isosceles triangle");
    printf("\nAnswer?");
    scanf(" %c", &answer22);
    if (answer22 == 'A' || answer22 == 'a') score++;
    printf("\n23.A triangle having three equal sides.");
    printf("\nA. equilateral triangle \tB. obtuse triangle \tC. acute triangle \tD. right triangle");
    printf("\n23.Answer?");
    scanf(" %c", &answer23);
    if (answer23 == 'D' || answer23 == 'd') score++;
    printf("\n24.The sum of the measures of all three sides of a triangle.");
    printf("\nA.area \tB. perimeter \tC. diameter \tD.none of the above");
    printf("\nAnswer?");
    scanf(" %c", &answer24);
    if (answer24 == 'B' || answer24 == 'b') score++;
    printf("\n25.In right triangle, the side opposite to right angle is called");
    printf("\nA. altitude \tB.hypotenuse \tC. angle bisector \tD.none of the above");
    printf("\nAnswer?");
    scanf(" %c", &answer25);
    if (answer25 == 'B' || answer25 == 'b') score++;

    printf("\n\t\tTEST Score=%d\n", score);
    return 0;
}

关于c - 该程序始终输出分数和负5,可以帮我吗? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34971166/

10-10 04:20