Only using stdio.h header Problem: Given an integer as a starting value, identif
ID: 3685329 • Letter: O
Question
Only using stdio.h header
Problem: Given an integer as a starting value, identify the next thirty prime numbers that are greater than or equal to the input value. The results will be stored in a thirty-element array and must be displayed on two separate lines, those at even-indexes first and odd-indexes second.
Example Execution #1: Enter starting value: 23
Even-index elements: 23 31 41 47 59 67 73 83 97 103 109 127 137 149 157
Odd-index elements: 29 37 43 53 61 71 79 89 101 107 113 131 139 151 163
Example Execution #2: Enter starting value: 377
Even-index elements: 379 389 401 419 431 439 449 461 467 487 499 509 523 547 563
Odd-index elements: 383 397 409 421 433 443 457 463 479 491 503 521 541 557 569
Example Execution #3: Enter starting value: 0
Even-index elements: 1 3 7 13 19 29 37 43 53 61 71 79 89 101 107
Odd-index elements: 2 5 11 17 23 31 41 47 59 67 73 83 97 103 109
Example Execution #4: Enter starting value: -4 Error! Non-negative values only!!! Enter starting value: -5 Error! Non-negative values only!!! Enter starting value: 91
Even-index elements: 97 103 109 127 137 149 157 167 179 191 197 211 227 233 241
Odd-index elements: 101 107 113 131 139 151 163 173 181 193 199 223 229 239 251
Explanation / Answer
/* C program to print 30 prime numbers after a starting number. */
#include <stdio.h>
int isprime(int n) // function that checks if number is prime
{
int i, flag=0;
for(i=2;i<=n/2;++i)
{
if(n%i==0)
{
flag=1;
break;
}
}
if (flag==0)
return 1;
else
return 0;
}
int main()
{
int n;
while(1)
{
printf("Enter strting value: ");
scanf("%d",&n);
if(n >= 0) break;
else printf("Error! Non- negative values only!!! ");
}
if(n ==0) n++;
int number[30] = {0} ;
int i = 0;
int t = 0;
while(t < 30)
{
if (isprime(n) == 1) // checking prime
{
number[i] = n; // input in array if n is prime
n++;
t++;
i++;
}
else
n++;
}
printf("Even Index elements: ");
for ( i = 0; i < 30; ++i)
{
if(i%2 == 0) printf("%d ",number[i]); // print even indexed elements
}
printf(" ");
printf("Odd Index elements: ");
for ( i = 0; i < 30; ++i)
{
if(i%2 != 0) printf("%d ",number[i]); // print odd indexed elements
}
printf(" ");
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.