+ 3
What's the fault in paint cost?
One of five test get wrong! https://code.sololearn.com/c8Sybq6Z7iVx/?ref=app
8 Answers
+ 12
In your code you're not rounding a value of float to it's nearest value. You just setting decimal places.
#include <stdio.h>
int main(){
float a = 3.14;
printf("%.1f" a); // Prints one decimal place.
// Output: 3.1
return 0;
}
To round up to the nearest value. Use ceil() function (defined in header file math.h)
#include <stdio.h>
#include <math.h>
int main(){
float a = 3.9;
int b;
b = ceil(a); // returns integer value rounded up to the nearest value.
printf("%d", b);
// Output: 4
return 0;
}
+ 5
Thanks for your response diego Code!
Now I got to know about rounding through printf() built-in function. đ
printf("%.1f", 3.16); // 3.2
So, if value of 2nd decimal place is greater than 5, it will be rounded up to its nearest integer.
printf("%.1f", 3.15); // 3.1
Since the 2nd decimal place of this float number is equal to 5, it won't be rounded up to its nearest integer.
+ 4
Read the task carefully. It says to round the result.
+ 3
Vinay_GB / Anand Singh
printf() does some rounding... BUT in some cases...well ... Things get "weird"
printf("%.0f\n",82.5); // 82 :)
printf("%.0f\n",83.5); // 84
(The rounding is implementation deoendent)
+ 2
Use
round()
Instead of %.0f
I.e. printf("%d", (int)round(p * 1.1));
+ 2
Vinay_GB you wish!! Haha
Try:
printf("%.1f %.1f\n",
3.15, 4.15
);
That's why I said Use round() :)
https://code.sololearn.com/cc0ril9k2HSG/?ref=app
0
therefore I used "%.0f" for round off to nearest whole number
0
#include <stdio.h>
#include<math.h>
int main()
{
int canvas,colour ,value;
float cost,tax=0.1;
scanf("%d",&colour );
canvas=40;
cost =(canvas )+((canvas)*0.1)+(colour *5)+((colour*5)*0.1);
//ceil(cost);
value =ceil(cost);
printf ("%d",value);
return 0;
}