Question #1 Write a segment of code that will print out the first 100 perfect squares, one per line. (Thus, it should print 1, 4, 9, …, 10000.) Question #2 What is the output of the following code segment? int i, j, sum=0; for (i=0; i<10; i++) for (j=0; j<10; j++) if (i<j) sum++; printf("sum = %d\n", sum); Question #3 What does the function call question3(138572) return? The code for the function is included below: int question3(int n) { int sum = 0; while (n>0) { sum += (n%10); n = n/10; } return sum; } Question #4 The function in question 3 actually returns the sum of the digits of its input parameter, assuming the parameter is nonnegative. The process of taking a digital root of a number consists of repeatedly summing its digits until one arrives at a single digit. For example, the digital root of 138572 can be calculated as follows: The sum of the original digits is 26. The sum of the digits of 26 is 8, this is the digital root of 138572. Complete the segment of code below so that it computes the digital root of an integer value, read in from the user and prints this to the screen. Please use the function above. int value, digroot; printf("Enter an integer.\n"); scanf("%d", &value); // Fill in code here! printf("The digital root is %d\n", digroot); Question #5 Write a function that takes in 2 double parameters and returns the larger of the two. double max(double num1, double num2) { } Question #6 The following function calculates the value of the first parameter raised to the power of the second one. You are guaranteed that exp is non-negative. Complete the missing parts of the function below: double power(double base, int exp) { double ans=1; int i; for ( ___________________ ) ans = ________ ; return ans; } Question #7 Write a function that takes in two integers, a and b, and returns the larger of the values ab and ba. In order to received credit you MUST make a call to both of the functions from question 5 and question 6. double maxexp(int a, int b) { } Question #8 Assuming you have all the proper variables declared, which of the following properly calculates the formula x C? A) x B) x C) x D) x E) x = = = = = (-b + sqrt(b*b-4*a*c))/2a; (-b + sqrt(b*b-4*a*c))/2*a; -b+sqrt(b*b-4*a*c)/2*a; (-b+sqrt(b*b-4*a*c))/2/a; (-b+(b*b-4*a*c)^0.5)/2/a; b b 2 4ac 2a in Question #9 What is the output of the following program? #include <stdio.h> void a(int num); void b(int num); int main() { a(6); return 0; } void a(int num) { int index; for (index=0; index<num; index++) b(index); } void b(int num) { int index=0; for (index=0; index<num; index++) printf("%d", index); } Question #10 What does the function below do in general? void guess(char c, int n) { int index; for (index=0; index<n; index++) printf("%c",c); } Question #11 Using three calls to the function above and nothing else, write a code segment to print the top half of the character '9' that looks exactly like this following: 99999 9 9 9 9 guess('9', 5); for (index=0; index<2;index++) { ___________ ; ___________ ; ___________ ; } Question #12 Write a function to determine whether or not the positive integer parameter num is prime or not. You may assume that num is greater than one. Your function should return 1 if num is prime, and 0 otherwise. int isprime(int num) { int index; for (index=2; index<num; index++) if ( _________ ) ___________ ; return 1; } Question #13 What is the output of the following program? #include <stdio.h> int f(int a, int b); int main() { int a=3, b=7; a = f(b,a); printf("a=%d b=%d\n",a,b); return 0; } int f(int a, int b) { a = 2*b; b = (a%10 + 1)*b; printf("a=%d b=%d\n",a,b); return b-a; } Question #14 What is the output of the following program? #include <stdio.h> void f(int* a, int* b); int main() { int a=3, b=7; f(&b,&a); printf("a=%d b=%d\n",a,b); return 0; } void f(int* a, int* b) { *a = 2*(*b); *b = ((*a)%10 + 1)*(*b); printf("a=%d b=%d\n",*a,*b); }