Using float in C

  • Thread starter muzihc
  • Start date
  • #1
16
0
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.



#include<stdio.h>

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;
}
 

Answers and Replies

  • #2
rcgldr
Homework Helper
8,708
534
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.
 
  • #3
16
0
Thanks.
 
  • #4
zyh
135
0
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.
 

Related Threads on Using float in C

  • Last Post
Replies
9
Views
6K
  • Last Post
Replies
16
Views
7K
Replies
10
Views
908
  • Last Post
Replies
5
Views
4K
Replies
9
Views
27K
  • Last Post
Replies
0
Views
3K
Replies
1
Views
2K
  • Last Post
Replies
8
Views
885
  • Last Post
Replies
8
Views
3K
  • Last Post
Replies
21
Views
5K
Top