+ 2
[C/C++] Write the following source code.
A program which inputs 4 different marks obtained from quizzes, then only add the best 3 out of 4 total marks and outputs the total. example: 1st quiz: 20 2nd quiz: 15 3rd quiz: 10 4th quiz 30 The result should be 30+20+15= 65
8 Answers
+ 5
Post up what you already tried. More than happy to help.
+ 3
Ah okay, gotcha. Post up what you tried and I can help advise you on what you're doing wrong. I can't do your homework for you or you won't get better at it and learn what you need to, which includes your problem solving / logic skills.
If you haven't tried to solve it yourself yet, then give it a shot first and let us know if you run into particular errors. This is where flow charts come in handy, so you may want to utilize that for it. It'll allow you to think of the flow of the program and basically create a map for how you're going to program it so you can follow the flow step by step. When you break the program down into small pieces, you can do the logic of each piece and then put it all together. So just think about the question you asked above and treat it like a math problem in school; you'll program it in the same way.
For this problem, you'll be using simple variables and print statements, which is something you learn in the first chapter or two of most programming languages.
+ 3
You can do :
#include <algorithm>
...
int array[4]; // instead of a, b, c, d
...
sort(array, array + 4);
cout << sum(array + 1, array + 4) << endl;
...
+ 2
Sorry, was in a meeting. I'll go back and comment the code for you so you can learn from it.
https://code.sololearn.com/cy90yx43D7Qw/#cpp
#include <iostream>
using namespace std;
int main(){
// quiz scores
int scores [4] = {20, 15, 10, 30};
int lowestScore;
int result = 0;
// print scores
cout << "First Quiz: " << scores[0] << '\n';
cout << "Second Quiz: " << scores[1] << '\n';
cout << "Third Quiz: " << scores[2] << '\n';
cout << "Fourth Quiz: " << scores[3] << '\n';
// set lowestScore to one of the array values for comparison against the others
lowestScore = scores[0];
// sizeof() is used here to figure out the length of the array, this is more dynamic
// than simply putting 4 here.
for(int i = 0; i < (sizeof(scores)/sizeof(scores[0])); ++i) {
if(scores[i] < lowestScore) {
// Compare current element in scores array against current lowest
// If it's lower, store it as the new lowest score.
lowestScore = scores[i];
}
// Add up all values in the array to get the total score
result += scores[i];
}
// Omit lowest score by subtracting it from the total
result -= lowestScore;
// print total score of 3 highest
cout << "Total Score (3 highest): " << result << '\n';
// Divide it by number of scores (3) to get average score
cout << "Average Score (3 highest): " << (result / 3.0) << '\n';
return 0;
}
+ 1
its my homework, got stuck in it...
+ 1
#include <stdio.h>
int main() {
int a,b,c,d;
printf("Marks for first quiz: ");
scanf("%d",&a);
printf("Marks for second quiz: ");
scanf("%d",&b);
printf("Marks for third quiz: ");
scanf("%d",&c);
printf("Marks for fourth quiz: ");
scanf("%d",&d);
int e=a+b+c+d;
int f;
if ( a<=b && a<=c && a<=d) { f=e-a;}
if ( b<=a && b<=c && b<=d) { f=e-b;}
if ( c<=b && c<=a && c<=d) { f=e-c;}
if ( d<=b && d<=c && d<=a) { f=e-d;}
printf("\nYour result is %d.",f);
return 0;
}
+ 1
is this correct?
0
So, did it work out for you?