⑴ 怎麼將c語言中一個浮點型數據的整數部分與小數部分提取出來
程序大概思路是這樣的:先提取出小數部分,再提取出整數部分。請看代碼:
#include <stdio.h>
int main()
{
float num = 3.14;
float temp = num;
int integer;
while (temp- 1 > 0)
{
temp--;
}
integer = num - temp;
printf("%.2f的整數部分是:%d,小數部分是:%.2f", num, integer, temp);
getchar();
return 0;
}
程序第4行定義了一個浮點數3.14,我們將提取出它的整數部分和小數部分。
提取處小數部分的思路是將浮點數不斷減1,直到剩餘部分大於0小於1,此時就得到了小數部分。
提取整數部分只需將原有的浮點數減去小數部分即可。
最後的getchar()用於暫停程序。
⑵ 怎麼將c語言中一個浮點型數據的整數部分與小數部分提取出來
代碼如下:
#include <stdio.h>
int main(){
double number; //其中number表示輸入的數
int zhengshu; //表示實數的整數部分
double xiaoshu; //表示整數的小數部分
printf("請輸入一個實數:"); //提示輸入一個數
scanf("%lf",&number);
zhengshu = (int)number;
xiaoshu = number-zhengshu;
printf("%f整數部分為:%d,小數部分為:%f ",number,zhengshu,xiaoshu);
return 0;
}。
程序執行結果:
程序設計思路就是輸入一個浮點數,把這個浮點強轉為整數,C語言強制轉換浮點數為整數的話,會丟失精度,也就是小數部分,再把原來的數減去整數部分,就可以得到小數部分,然後定義變數把相應的部分存儲,列印出來就行了。
⑶ c語言,截取前幾個數字用什麼函數
#include<stdio.h>
#define max 200 //輸入的數最多兩百個
int main()
{
int i,input,len=0;
int a[max],front;
printf("\nplease input the number!\n");
scanf("%d",&input);
printf("請輸入要取出的位數!\n");
scanf("%d",&front);
len=strlen(input); //輸入數字的長度
for(i=0;i<front;i++) //用來取出所有的單個數字
{
a[i] =input/(10^len);
input=input%(10^len);
len--;
}
for(i=0;i<front;i++)
{
printf("%d",a[i]);
}
}
這道題應該能運行,不能的話,發個消息過來,我來調試下!
⑷ c語言如何對數字取前四位
C語言版:
#include<stdio.h>
#define n 5
void main()
{
float x,y;
printf("請輸入1~2之間一個需要轉換的數\n");
scanf("%f",&x);
if(x>2||x<1)
{
printf("您輸入的數字不正確\n");
return;
}
y=x*1e4;//將x擴大10000倍,比如1.23568擴大到12356.8
if((int)y/10>4) y+=10;//判斷12356(整數部分)最後一位是否大於4,是就加10。比如12356的6>4,所以改成12366
y=(float)(y/1e4);//再縮小10000倍,得到四捨五入後的數,比如1.2366
printf("%4.3f",y);//控制小數位有3位
}
⑸ c語言取前4位數字
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
intx=123456789,x1;
charn[99];
sscanf(itoa(x,n,10),"%5s",n);
x1=atoi(n);
printf("%d",x1);
}
請採納
⑹ C語言中float型數據怎麼 取整數部分演算法 或取小數部分
分析如下:
一種簡單的辦法是直接強制轉換到int型就是整數部分。減去這個int型就是小數部分了。
代碼如下:
float n=12.223;
int x=(int)n;
float y=n-(float)x;
得出的x為數據的整數部分,y為數據的小數部分。
拓展資料:
浮點型數據類型,FLOAT 數據類型用於存儲單精度浮點數或雙精度浮點數。浮點數使用IEEE(電氣和電子工程師協會)格式。浮點類型的單精度值具有 4 個位元組,包括一個符號位、一個 8 位 excess-127 二進制指數和一個 23 位尾數。尾數表示一個介於 1.0 和 2.0 之間的數。由於尾數的高順序位始終為 1,因此它不是以數字形式存儲的。此表示形式為 float 類型提供了一個大約在-3.4E+38 和 3.4E+38 之間的范圍。
(資料來源:網路:FLOAT)
⑺ C語言中如何將小數點部分一位一位取出
在輸出時,小數點算做一位.a++不能被賦值,程序有誤,應少寫一個加號,a=a+=5;.十進制-16在計算機里是這么表示的,16的二進制碼是0000000000010000,若要表示-16,則將16的二進制碼取反,得到1111111111101111,再將此數加1,得到1111111111110000,111111110000就是-16在計算機內存中存儲形式,稱為補碼.由於%u表示無符號的整數所以第一位不是符號判斷位,所以他會將補碼認為是一個正整數,所以此二進制值化為十進制是4294967280.所以%u表示-16的值為4294967280.