Jump to content

Soloway's recurring rainfall: Difference between revisions

no edit summary
(Created page with "{{task}} Soloway's Recurring Rainfall is commonly used to asses general programming knowledge by requiring basic program structure, input/output, and program exit procedure. '''The problem:''' Write a program that will read in integers and output their average. Stop reading when the value 99999 is input. '''References:''' * http://cs.brown.edu/~kfisler/Pubs/icer14-rainfall/icer14.pdf * https://www.curriculumonline.ie/getmedia/8bb01bff-509e-48ed-991e-3ab5dad74a78/Seppl...")
 
No edit summary
Line 9:
* http://cs.brown.edu/~kfisler/Pubs/icer14-rainfall/icer14.pdf
* https://www.curriculumonline.ie/getmedia/8bb01bff-509e-48ed-991e-3ab5dad74a78/Seppletal-2015-DoweknowhowdifficulttheRainfallProblemis.pdf
 
=={{header|C}}==
<syntaxhighlight lang="c">
#include <stdio.h>
 
int main(int argc, char **argv)
{
// Unused variables
(void)argc;
(void)argv;
float currentAverage = 0;
unsigned int currentEntryNumber = 0;
for (;;)
{
int ret, entry;
printf("Enter rainfall int, 99999 to quit: ");
ret = scanf("%d", &entry);
if (ret)
{
if (entry == 99999)
{
printf("User requested quit.\n");
break;
}
else
{
currentEntryNumber++;
currentAverage = currentAverage + (1.0f/currentEntryNumber)*entry - (1.0f/currentEntryNumber)*currentAverage;
printf("New Average: %f\n", currentAverage);
}
}
else
{
printf("Invalid input\n");
while (getchar() != '\n'); // Clear input buffer before asking again
}
}
return 0;
}
</syntaxhighlight>
6

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.