I am trying to sort the array from highest to lowest once the data is entered. #
ID: 3546902 • Letter: I
Question
I am trying to sort the array from highest to lowest once the data is entered.
#include <stdio.h>
#include <stdlib.h>
void printData(char name[][50], double dScore[], double eScore[], int max);
void sumScore(char names[][50], double dScore[], double eScore[], double finalScore[], int max);
int main()
{
int i;
double dScore[2], eScore[2], finalScores[2];
char names[2][50];
printf("This program will print out the resluts of the gymnast. ");
for(i=0;i<2;i++){
printf("Enter the Last Name, D-Score and E-Score of the competitor. ");
scanf("%s %lg %lg",names[i],&dScore[i],&eScore[i]);
if(dScore[i] < 0){break;}
}
printData(names, dScore, eScore, i);
printf("The Final Score is: ");
sumScore(names, dScore, eScore, finalScores, i);
}
void printData(char names[][50], double dScore[], double eScore[], int max)
{
int j;
for(j=0;j<max;j++){
printf("Name: %s D-Score: %g E-Score; %g ", names[j],dScore[j],eScore[j]);
}
}
void sumScore(char names[][50], double dScore[], double eScore[], double finalScore[], int max)
{
int i,swap;
for(i=0;i<max;i++){
finalScore[i] = dScore[i] + eScore[i];
printf("Name: %s FinalScore: %g ", names[i],finalScore[i]);
}
for(i=0;i<max-i-1;i++){
if(finalScore[i] > finalScore[i+1]){
swap = finalScore[i];
finalScore[i] = finalScore[i+1];
finalScore[i+1] = swap;
}
}
}
Explanation / Answer
#include <stdio.h>
#include <stdlib.h>
void printData(char name[][50], double dScore[], double eScore[], int max);
void sumScore(char names[][50], double dScore[], double eScore[], double finalScore[], int max);
int main()
{
int i;
double dScore[2], eScore[2], finalScores[2];
char names[2][50];
printf("This program will print out the resluts of the gymnast. ");
for(i=0;i<2;i++){
printf("Enter the Last Name, D-Score and E-Score of the competitor. ");
scanf("%s %lg %lg",names[i],&dScore[i],&eScore[i]);
if(dScore[i] < 0){break;}
}
printData(names, dScore, eScore, i);
printf("The Final Score is: ");
sumScore(names, dScore, eScore, finalScores, i);
}
void printData(char names[][50], double dScore[], double eScore[], int max)
{
int j;
for(j=0;j<max;j++){
printf("Name: %s D-Score: %g E-Score; %g ", names[j],dScore[j],eScore[j]);
}
}
void sumScore(char names[][50], double dScore[], double eScore[], double finalScore[], int max)
{
int i,swap;
for(i=0;i<max;i++){
finalScore[i] = dScore[i] + eScore[i];
printf("Name: %s FinalScore: %g ", names[i],finalScore[i]);
}
for(i=0 ; i<max ; i++)
{
for(j=0 ; j<max-i-1 ; j++)
{
if(finalScore[j]>finalScore[j+1]) //Swapping Condition is Checked
{
swap=finalScore[j];
finalScore[j]=finalScore[j+1];
finalScore[j+1]=swap;
}
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.