當前位置:首頁 » 編程語言 » c語言按位讀取浮點數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言按位讀取浮點數

發布時間: 2022-08-21 08:44:07

1. c語言,從字元串中截取浮點數

#include <stdio.h>
main()
{
char s[]="2.39+2.39+1.22+8.9-9*7";
float a[4];
int i;
sscanf(s,"%f%f%f%f",&a[0],&a[1],&a[2],&a[3]);
for (i=0;i<4;i++) printf("%g ",a[i]);
return 0;
}
得:
2.39 2.39 1.22 8.9

2. c語言 從文件中讀取雙精度浮點

問題很簡單,只要將:fscanf(fp,"%.8f %.8f\n",&a[2*i],&a[2*i+1]);
改為:fscanf(fp,"%lf%lf",&a[2*i],&a[2*i+1]);

注意:double雙精度型數值的輸入必須用%lf,而它的輸出則和float單精度型數值一樣用%f,%e均可。同時注意fscanf()和scanf()類似在輸入數據的時候不能指定數據的精度。fscanf()可以自動判斷回車,所以%.8f最後的'\n'也是多餘的。而且對本題,"%lf%lf"之間加不加空格都是一樣的,fscanf()遇到空格會自動判斷第一個數據讀入完成,接下來的就是第二個數據。當然如果是數值加字元,那麼空格就必不可少要和文件中嚴格對應了。

3. 怎麼用C語言程序讀取txt文件中的浮點型數據

先按字元串讀進來,然後在根據需要自行拆分組合.

4. C語言讀取文本文件浮點數。

fscanf(xxx,"%lf",&xxx);

5. c++ 如何讀取 文件 中的 浮點數

兩種方法可以實現:
1 使用C++ STL的ifstream類,創建對象並打開文件後,利用插入操作(>>)讀取浮點數。

ifstream in("input.txt");
double a;
in >> a;

2 使用C語言的fscanf函數。
C++兼容所有C語言函數。所以可以通過fopen打開文件,並利用fscanf讀入浮點數。

FILE * in = fopen("input.txt", "r");
double a;
fscanf("%lf", &a);

6. C語言從文件中找出浮點數

我看你的文件很像給加工中心編的程序
給你提供一個思路吧:
一、把文件打開。
二、用fscanf(fp,「%c」,.....)把文件中的字元一個一個的讀出如果遇到『x』或「y」,用
fscanf(fp,"%f",.....)將浮點數讀出。
三、用自己的方式將浮點數按照一定格式輸出到另一個文件(打開另一個文件)。
四、關閉文件。
這是我的程序:
#include<stdio.h>
main()
{
FILE *fp,*fp1;
char ch;
double dou;
fp=fopen("mubiao.txt","r");
fp1=fopen("jieguo.txt","w+");
ch=getc(fp);
while(!feof(fp))
{
if('X'==ch)
{
fscanf(fp,"%f",&dou);
fprintf(fp1,"x%f ",dou);
printf("x%f ",dou);
}
if('Y'==ch)
{
fscanf(fp,"%f",&dou);
fprintf(fp1,"y%f\n",dou);
printf("y%f\n",dou);
}
ch=getc(fp);
}
fclose(fp);
fclose(fp1);
}
這個程序有點問題,誰幫改一改

7. C語言中,請問如何從字元串中讀取所有的浮點數(個數不知道),浮點數以空格隔開

用sscanf確實可以實現,代碼如下:
#include <stdio.h>
int main()
{
char *str="1.0 2.0 3.0 4.0 50.0" ;
int i ;
double d ;
i=0;

while( *str == ' ' ) str++ ;
while( sscanf( str, "%lf" , &d )==1 )
{
while( *str != ' ' ) str++ ; //跳過已讀過的數
i++;
printf( "d:%03d= %lf\n" , i , d );
while( *str == ' ' ) str++ ; //跳過分格符:空格
}
printf( "there is(are) %d float num(s) in str\n" , i );
return 0;
}
當然,你也可以用strtok()函數過獲取數據,細節可參看相應的函數介紹

8. c語言的%1f是什麼意思

%1f是用在printf函數中的輸出格式的說明符。

具體解釋如下:

使輸出float型的數值的整數部分保持1位的固定位寬,如果實際整數部分超過1位的寬度,則按實際位數輸出。(整數部分不會低於1位)

舉例如下:

printf("%1f",1.31);//輸出1.31
printf("%1f",122.31);//輸出122.31

9. c語言中讀取一個浮點數輸出對應的百分率百分率取整

如果是四捨五入,那麼:

單精度數化為取整百分數,在四捨五入時,當千分位為5時不會進位。如果一定要用單精度數來四捨五入取整百分數,那麼:

#include<stdio.h>
voidmain()
{
floata,k;
scanf("%f",&a);
k=a*100;
if((int)(a*100+0.5)==k+1)k+=1;
printf("%.f%%",k);
}

對於雙精度數,就不存在這個問題。

#include<stdio.h>
voidmain()
{
doublea;
scanf("%lf",&a);
printf("%.f%%",a*100);
}

上面講的是四捨五入的情況。如果不四捨五入,而是直接取整數部分,那麼:

#include<stdio.h>
voidmain()
{
floata;
scanf("%f",&a);
printf("%d%%",(int)(a*100));
}

10. c語言,從鍵盤讀取整數n和浮點數g的程序怎麼寫

從鍵盤讀取整數n和浮點數g的程序應該這樣寫:
int n;
float g;
scanf("%d%f",&n,&g);