**how can I make my program break if 0 is entered by user as last number not alw
ID: 3807038 • Letter: #
Question
**how can I make my program break if 0 is entered by user as last number not always 10 numbers
output should be
enter 10 numbers:1 2 0
numbers entered by user are: 1 2
Largest number: 2
**arrays can ONLY be used in the main function, other than the main function pointers should be used
#include
#define N 10
void max(int a[], int n, int *max);
int main (void)
{
int a [N], i , big;
printf("enter %d numbers:",N);
for(i=0;i scanf("%d",&a[i]);
max(a,N,&big);
printf("numbers entered by user are: ",&a[i]);
printf("Largest number:%d ",big);
return 0;
}
void max(int a[], int n, int *max)
{
int i;
for(i=1;i if(a[i]>*max)
*max=a[i];
}
}
Explanation / Answer
#include <stdio.h>
#define N 10
void max(int a[], int n, int *max);
int main (void)
{
int a[N], i , big,count;
count = 0;
printf("enter %d numbers:",N);
for(i=0;i<N;i++)
{
scanf("%d",&a[i]); //enter numbers
if(a[i] != 0) //if number is not equal to 0 increment count,the actual numbers entered
count++;
else //otherwise break out of loop
break;
}
max(a,count,&big); //function call with actual count of numbers
printf(" numbers entered by user are: ",a[i]);
for(i=0;i<count;i++)
printf("%d ",a[i]); //display numbers entered
printf(" Largest number:%d ",big); //diaplay largest number
return 0;
}
void max(int a[], int count, int *max)
{
int i;
*max = 0;
for(i=0;i<count;i++)
{
if(a[i]>*max) //check if number at index i is greater than max
*max=a[i]; // if true assign the number to max
}
}
Output:
enter 10 numbers:1 2 0
numbers entered by user are:
1 2
Largest number: 2
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.