高分请说下,C语言如何将多位小数输出时只输出四位?
txt文档中数据如下,如何将其全都只保留到小数点后四位,四位后的数据四舍五入呢116.357003333333
116.357005
116.357005
116.357021666667
116.357078333333
116.357171666667
116.357298333333
高分请说下,C语言如何将多位小数输出时只输出四位?
txt文档中数据如下,如何将其全都只保留到小数点后四位,四位后的数据四舍五入呢2024-10-14 08:00:55
你好!!
采用文件读取的方式,读入每行数据,然后取四位小数显示:
#include<stdio.h>
main(){
double s;
FILE *fp;
int i,j;
fp =fopen("abc.txt","r"); // 文件名你自己改吧
while(1)
{
fscanf(fp,"%lf",&s); // 读一行
if (feof(fp)) break; // 读到 EOF 文件结束
printf("%.4lf\n",s); // 输出4位小数
};
fclose(fp);
return 0;
}
总监,您的程序执行不了啊
有个地方改了一下,你运行试试吧,你把文件名,改成你自己的文件名
还有什么问题吗?
#include<stdio.h>
main(){
double s;
FILE *fp;
int i,j;
fp =fopen("abc.txt","r"); // 文件名你自己改吧
while(1)
{
fscanf(fp,"%lf",&s); // 读一行
if (feof(fp)) break; // 读到 EOF 文件结束
printf("%.4lf\n",s); // 输出4位小数
};
fclose(fp);
return 0;
}
好吧,谢谢总监叔叔
你认识我吗,你是谁呀
2024-10-14 08:39:30
2024-10-14 09:06:28
2024-10-14 08:33:03
这些数据是在txt文档中保存的,打开文档数据类型只能是char型,这种情况怎么使用printf啊
TXT里都是数据么,都是数据的话就用文件操作吧
void function()
{
FILE *in,*out;
in = fopen("input.txt","r");
out = fopen("output.txt","w");
while(1)
if (fscanf(in,"%f",&a))
fprintf(out,"%.4f\n",a);
else
{
fclose(in);
fclose(out);
return;
}
}
2024-10-14 08:56:52
可是打开txt文档后,这些数据是以char形式保存的,这种情况怎么使用printf? 类型转换也不行啊