Make a C program that will generate the output below using the function that will pass the value into the function.

1 4 16 25 36 49 64 81 100

To generate the specified output in a C program, you can use a function to calculate the square of each number in a loop. Here's an example program that achieves this:

```c
#include <stdio.h>

void printSquaredValues(int start, int end) {
for (int i = start; i <= end; i++) {
int square = i * i;
printf("%d\t", square);
}
}

int main() {
printSquaredValues(1, 10);
return 0;
}
```

Explanation of the program:
1. The `printSquaredValues` function takes in two parameters, `start` and `end`, which represent the range of numbers for which we want to calculate and print the squares.
2. Inside the `printSquaredValues` function, a `for` loop is used to iterate from `start` to `end`.
3. In each iteration of the loop, the variable `square` is calculated by multiplying `i` with itself, which gives the square of `i`.
4. The `printf` function is used to print the value of `square`, followed by a tab (`\t`) to separate each number.
5. Finally, in the `main` function, we call `printSquaredValues` and pass the arguments `1` and `10` to generate squares of numbers from 1 to 10.
6. The program will produce the desired output: "1 4 16 25 36 49 64 81 100" separated by tabs.

You can modify the program to generate the output using different values by changing the arguments passed to the `printSquaredValues` function in the `main` function.