What is an easy way to write a C program for creating a table using for loops?

  • Thread starter Thread starter Dili
  • Start date Start date
  • Tags Tags
    Program
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 4K views
Dili
Messages
13
Reaction score
0
I need to write a c program to get a table like this
______0 ________1 _________2________3 ...(underscore for presentation only)
10 sqrt(0*10) sqrt(1*10)
11
12
..
..

i know how to get the first row while saving it in an array.
but i can't find how to write the rest of the lines.
is tehre a easy way using only for loops?
here is a part of the code I've written

#include<stdio.h>
#include<math.h>
int main()
{
int i,j,num[20];
printf("\t");
for(i=0;i<9;i++)


num=i;
{
printf("%d\t",num);
}
 
Last edited:
Physics news on Phys.org
What are you trying to achieve ?
Draw out on paper ( or in excel) what you want in each cell.
Work out what formula calcualtes these numbers
Write the two loops ( one to loop over columns and one over rows)
 
Not sure why you'd need to use an array to store your values, unless you plan to use them later. Even if you were doing that, wouldn't a 2D array make more sense? Then, the easiest way would be to create a large enough array so that you just ignore the first 10 rows. Then, assuming rows = i and cols = j, you can do

num[j] = sqrt(i*j)

in a nested for loop. Use some simple arithmetic if you don't want to waste space in the array.

I think this should get you what you're after (at least without writing the program for you).
 
Assuming this is the table you want...

Code:
[FONT="Courier New"]
    |      0       |      1       |       2      |     3
-----------------------------------------------------------
10  |  sqrt(0*10)  |  sqrt(1*10)  |  sqrt(2*10)  |
11  |  sqrt(0*11)  |  sqrt(1*11)  |  sqrt(2*11)  |
12  |  sqrt(0*12)  |  sqrt(1*12)  |  sqrt(2*12)  |
13  |
 
This looks like homework, so I would suggest:
1. your prof wants you to learn about printf() formatting specifically how to make a field a fixed width - eg printf("%6.3f", sqrt( of something) );
2. your prof wants you to see that you can sprintf the same way as printf, except to build a string, not print right away.
3. you can use a for( ) loop to build the body of the table.