Originally created by Jerrett Longworth and Idel Martinez in Spring 2021.
max
, which will be inputted by the user.Answer:
int main(void)
{
int max;
("Enter the maximum number to go to: ");
printf("%d", &max);
scanf
int size = (max + 1) / 2;
int odd = 1;
int odd_numbers[size];
for (int i = 0; i < size; i++)
{
[i] = odd;
odd_numbers= odd + 2;
odd }
for (int i = 0; i < size; i++)
{
("%d\n", odd_numbers[i]);
printf}
return 0;
}
final
array with the squares of the numbers of the
initial
array. That is, if initial
is array of
with elements [1, 2, 3, 4, 5], our program will initialize the
corresponding final
array with the values squared as [1, 4,
9, 16, 25]. Make sure you accept arrays of any size!Answer:
double square(double num)
{
return num * num;
}
void init_square_array(double *initial, double *final, int count)
{
for (int i = 0; i < count; i++)
{
[i] = square(initial[i]);
final}
}
void print_array(double *array, int count)
{
("These are the values of the array!\n");
printffor (int i = 0; i < count; i++)
{
("%lf\n", array[i]);
printf}
}
int main(void)
{
double numbers[] = { 1, 2, 3, 4, 5 };
double numbers_results[5];
double evens[10];
double evens_results[10];
double x = 2;
for (int i = 0; i < 10; i++)
{
[i] = x;
evens= x + 2;
x }
(numbers, numbers_results, 5);
init_square_array(evens, evens_results, 10);
init_square_array
(numbers_results, 5);
print_array(evens_results, 10);
print_array
return 0;
}
array1
and array2
, and the length of array1
, that
copies the contents of array1
into array2
.
Assume that array2
has at least as many elements as
array1
.Answer:
void copy_array(int *array1, int *array2, int length)
{
for (int i = 0; i < length; i++)
{
[i] = array1[i];
array2}
}
#include <stdio.h>
void print_float_array(float *array, int count)
{
for (int i = 0; i < count; i++)
{
printf(" %f", array[i]);
}
printf("\n");
}
int main(void)
{
float values[] = {3.14, 2.718, 6.9, 42.0};
for (int i = 0; i < 4; i++)
{
print_float_array(values[i], 4);
}
return 0;
}
Answer: print_float_array()
accepts a
float array and a count, but line 18 is passing a float value, not an
array. Also, since we iterate the for loop 4 times in
main()
, in which we call a function that goes throes
another loop 4 times, we would be doing twice the amount of
work. To fix it, we would simplify the code in main()
to:
int main(void)
{
float values[] = {3.14, 2.718, 6.9, 42.0};
(values, 4);
print_float_array
return 0;
}