『壹』 c語言問題 編寫一個函數,作用是保留兩位小數,對第三位四捨五入···
printf是輸出把
scanf才是輸入
整理如下
#include<stdio.h>
float fun (double);
int main()
{
double a;
float b;
printf("請輸入一個浮點數:");
sanf("%f",&a);
b=fun(a);
printf("轉換後的浮點數為:%12.2f\n",b);
return 0;
}
float fun (double h)
{
int e=(int)(h*100.0);
e%=10;
if(e>=5)
h+=0.01;
return (h);
}
『貳』 c語言怎樣保留兩位小數
C語言怎麼保留兩位小數,如果不定義的話,那麼就會默認不是兩位小數,那麼需要輸出內容保留小數,實際上可以對浮點型進行設置的。
1、首先打開IDE,接著保存main.c文件。
『叄』 C語言四捨五入保留兩位小數
#include
main()
{
double
a;
printf("請輸入一個四位小數:\n");
scanf("%lf",&a);//雙精度應該是的%lf
a*=100;//
擴大100倍,舉個例子:a=123.4567,a=a*100,則a=12345.67
a+=0.5;//加0.5進行四捨五入a=12346.17
a=(int)a;//這個地方是想保留兩位小數,後邊的捨去,所以進行強制類型轉換.
a/=100;//上面擴大100倍,現在要對其縮小100
printf("結果是:%f\n",a);//這樣就行了,或者printf("結果是:%.2f\n",a);
}
『肆』 C語言四捨五入保留兩位小數的程序怎麼寫
#include <stdio.h>
double fun ( float h )
{ return (long)( h * 100 + 0.5 )/ 100.0;
}main( )
{
float a;
printf ("Enter a: "); scanf ( "%f", &a );
printf ( "The original data is : " );
printf ( "%f
", a );
printf ( "The result : %f
", fun ( a ) );
}
『伍』 c語言,不管是float還是double類型的用%.2f保留2位小數要四捨五入,怎麼不讓他四捨五入
乘以100-->取整-->除以100.0就能達到題設要求。舉例代碼如下:
#include"stdio.h"
intmain(intargc,char*argv[]){
doublep=3.1415926;
floate=2.718281f;
printf("p=%.2f(處理前無進位) ",p);//小數點後第3位是1,不進位
printf("p=%.2f(處理後無進位) ",int(p*100)/100.0);//處理後不影響結果
printf("e=%.2f(處理前有進位) ",e);//因為小數點後第3位是8,所以有進位
printf("e=%.2f(處理後無進位了) ",int(e*100)/100.0);//處理後沒有進位了
return0;
}
運行結果如下:
『陸』 求教c語言float類型數據四捨五入問題如何實現
假設需要在小數點之後兩位進行四捨五入,利用整型能截斷小數的特點:
float a=3.1415926,b; int c;
b=a; b*=100; //b=314.15926
b+=0.5; //在個位實現四捨五入
c=b; b=c; //利用整型變數賦值截斷小數點之後數據c=314,b=314.0
b/=100; //恢復原先小數點位置b=3.14
簡單地寫是這樣:b=(int)(a*100+0.5)/100f;
『柒』 C語言四捨五入保留兩位小數
應該是精度問題。因你使用的是float變數,你可以用printf顯示a*100的結果是155.499995而不是155.50000你可以全改成double型#include <stdio.h>
double fun ( double h )
{ return (long)( h * 100 +0.5 )/ 100.0;
}main( )
{ double a;
printf ("Enter a: "); scanf ( "%lf", &a );
printf ( "The original data is : " );
printf ( "%lf %lf\n\n", a, a*100 );
printf ( "The result : %lf\n", fun ( a ) );
}
『捌』 C語言編程 對變數保留兩位小數 並進行四捨五入
int a;
a=h*1000; //擴大1000倍,並轉換為int型
if(a%10>=5) a+=10; //若千分位大於等於5,則十分位進1
a/=10; //舍棄千分位後的部分並縮小10倍
return ((float)a)/100; //轉換為Float型並縮小100倍
『玖』 C語言如何實現輸出浮點數小數點兩位(四捨五入法),但若小數點最後位為零則捨去
要對某個浮點數比如x保留到小數點後兩位,可以將x乘以100,變成對這個數進行四捨五入到個位。
double f(double x)
{
double j = (x>=0?1.0:-1.0); //j是符號
return int(abs(x)*100+0.5)/100.0*j; //進行四捨五入,注意考慮正負號
}
『拾』 用C語言怎麼實現浮點數的四捨五入,保留兩位小數點
C語言怎麼實現浮點數的四捨五入,保留兩位小數的設計過程為:
定義浮點點數變數df,輸入浮點數
浮點數df擴大100倍
浮點數df增加0.5
利用floor()函數得到最接近df數,但不大於df的整數(完成四捨五入)。不能用int強制轉換,否則,數據超過int范圍就會出現錯誤。
浮點數df縮小100倍得到有兩位小數的浮點數
按%.2f輸出結果。
參考代碼:
#include<stdio.h>
#include<math.h>
voidmain()
{
doubledf=0;
printf("inputd:");scanf("%lf",&df);
df*=100;
df+=0.5;
df=floor(df);
df/=100;
printf("d=%.2f ",df);
}