#include <stdio.h>
int main ( )
{
int count, value, sum, attempt, maxAttempts;
double avg;
maxAttempts = 30 ;
attempt= 0 ;
count = 0 ;
sum = 0 ;
avg = 0.0 ;
while ( value != 0 && attempt < maxAttempts) {
printf ( "\n Enter a positive Integer or 0 to complete list:" ) ; attempt++;
if ( value > 0 ) {
sum = sum + value;
count = count + 1 ;
printf ( " Integer number %d, value: %d" , count
, value
) ; }
else if ( value < 0 )
{
printf ( "\n Error. Please enter a positive number" ) ; }
else {
//value is 0, sentinele number introduced
printf ( "\n \n Calculating average..." ) ; }
}
if ( value == 0 ) {
avg = ( double ) sum/ count;
printf ( "\n \n The average is %lf\n " , avg
) ; }
else if ( count== 0 ) {
printf ( "\n There is no average with no input!\n " ) ; }
else {
printf ( "\n \n ERROR!You have not introduce number 0 to complete the list, no average can be provided, please try again" ) ; }
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBtYWluICgpCnsKIAppbnQgY291bnQsIHZhbHVlLCBzdW0sIGF0dGVtcHQsIG1heEF0dGVtcHRzOwpkb3VibGUgYXZnOwogCm1heEF0dGVtcHRzID0gMzA7IAphdHRlbXB0PTA7CmNvdW50ID0gMDsKc3VtID0gMDsgCmF2ZyA9IDAuMDsKIAogCndoaWxlICh2YWx1ZSAhPSAwICYmIGF0dGVtcHQgPCBtYXhBdHRlbXB0cyl7CiAKCXByaW50ZigiXG5FbnRlciBhIHBvc2l0aXZlIEludGVnZXIgb3IgMCB0byBjb21wbGV0ZSBsaXN0OiIpOwoJc2NhbmYoIiVkIiwgJnZhbHVlKTsgCglhdHRlbXB0Kys7CiAKCWlmICh2YWx1ZSA+IDApIHsKCQlzdW0gPSBzdW0gKyB2YWx1ZTsgCgkJY291bnQgPSBjb3VudCArIDE7CgkJcHJpbnRmKCIgICAgICAgICAgIEludGVnZXIgbnVtYmVyICVkLCB2YWx1ZTogJWQiLCBjb3VudCwgdmFsdWUpOwoJfQoJCWVsc2UgaWYoIHZhbHVlIDwgMCkKCXsKCQlwcmludGYoIlxuRXJyb3IuIFBsZWFzZSBlbnRlciBhIHBvc2l0aXZlIG51bWJlciIpOwoJfQogCgllbHNlIHsKCQkvL3ZhbHVlIGlzIDAsIHNlbnRpbmVsZSBudW1iZXIgaW50cm9kdWNlZAoJCXByaW50ZigiXG5cbkNhbGN1bGF0aW5nIGF2ZXJhZ2UuLi4iKTsKCX0KfQogCmlmICh2YWx1ZSA9PSAwKXsgCglhdmcgPSAoZG91YmxlKSBzdW0vY291bnQ7CglwcmludGYoIlxuXG5UaGUgYXZlcmFnZSBpcyAlbGZcbiAiICwgYXZnICk7Cn0KIAplbHNlIGlmKGNvdW50PT0wKSB7CglwcmludGYoIlxuVGhlcmUgaXMgbm8gYXZlcmFnZSB3aXRoIG5vIGlucHV0IVxuICIgKTsKfQogCmVsc2UgewoJcHJpbnRmICgiXG5cbkVSUk9SIVlvdSBoYXZlIG5vdCBpbnRyb2R1Y2UgbnVtYmVyIDAgdG8gY29tcGxldGUgdGhlIGxpc3QsIG5vIGF2ZXJhZ2UgY2FuIGJlIHByb3ZpZGVkLCBwbGVhc2UgdHJ5IGFnYWluIik7Cn0KIAogCnJldHVybiAwOwp9