1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Using float in C

  1. Sep 16, 2008 #1
    I'm very new to C. If I had a program like the one below, I was hoping someone could tell me how I should edit it so that the lines "printf("\n%20s%20f", "Half of 1", div1);" and "printf("\n%20s%20f", "Half of 2", div2);" output decimals without too many excess spaces. Currently when outputted, they are in decimal form but don't give remainders and have quite a few zeros. I'm really stuck here and have spent way too much time on this. I'd really appreciate any help.


    int main(void)
    int int1, int2;
    float div1, div2;

    printf("\nGive two integers: ");
    scanf("%d%d", &int1, &int2);

    div1 = int1 / 2
    div2 = int2 / 2

    printf("\n%20s%20d", "First Number", int1);
    printf("\n%20s%20d", "Second Number", int2);
    printf("\n%20s%20f", "Half of 1", div1);
    printf("\n%20s%20f", "Half of 2", div2);

    return 0;
  2. jcsd
  3. Sep 16, 2008 #2


    User Avatar
    Homework Helper

    The division will be an integer division, change the code to:

    div1 = (float)int1 / 2.;
    div2 = (float)int2 / 2.;

    Note if either number in a binary operation is a float, then the other number will be "promoted" to a float as well.

    If you have a c reference manual, look up type promotion.
  4. Sep 16, 2008 #3
  5. Sep 18, 2008 #4


    User Avatar

    Here is another issue about "printf"
    see http://www.google.com/search?hl=en&q=printf&aq=f&oq= for a detail reference.
    If you want to limit the strengh of output. You could easily change the to

    %10f which means you should limit the output to 10 bit spaces.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?

Similar Discussions: Using float in C
  1. Float in C (Replies: 9)