当前位置:首页 » 编程语言 » 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);