当前位置:网站首页>实数取整写入文件(C语言文件篇)
实数取整写入文件(C语言文件篇)
2022-08-03 12:28:00 【一沐四季】
题目要求:文件f1.txt中有若干个实数,请分别读出,将每个实数按四舍五入取整后存入存入文件f2.txt中。试编写相应程序。
思路:
- 打开文件f1,
- 读入实数,
- 将实数的整数部分和小数部分拆开,
- 小数部分与0.5相比较,
- 整数部分作出对应调整并写入文件f2。
运行后文件内容:
| ![]() |
| f1.txt(自行输入) | f2.txt(运行后系统生成) |
源程序:
#include<stdio.h>
#include<stdlib.h>
void splitfloat(double x,int *intpart,double *fracpart)
{
*intpart=(int)x;//强制转换为整型
*fracpart=x-*intpart;//直接减去整数部分可得小数部分
}
int main(void)
{
FILE *fp1,*fp2;
int intpart;//x=345.89,小数部分为0.890015
double z,fracpart,a;//x=123.456,小数部分会输出为0.456001
if((fp1=fopen("f1.txt","r"))==NULL){
printf("文件f1打开失败!");
exit(0);
}
if((fp2=fopen("f2.txt","w"))==NULL){
printf("文件f2打开失败!");
exit(0);
}
while(!feof(fp1)){
fscanf(fp1,"%lf",&z);//读取
if(z!=EOF){
splitfloat(z,&intpart,&fracpart);//拆分整数和小数部分
// printf("整数部分:%d\n小数部分:%lf\n",intpart,fracpart);//帮助检验
if(fracpart>=0.5){//小数部分 四舍五入
intpart=intpart+1;
// printf("整数部分:%d\n小数部分:%lf\n",intpart,fracpart);//帮助检验
}
fprintf(fp2,"%d\n",intpart);
}
}
return 0;
}其中拆分实数的整数与小数部分原题目:
要求自定义一个函数 void splitfloat ( float x , int * intpart , float * fracpart ),其中 x 是被拆分的实数,* intpart 和* fracpart 分别是将实数 x 拆分出来的整数部分与小数部分。编写主函数,并在其中调用函数 splitfloat ()。
源程序:
#include<stdio.h>//习题8.1 拆分实数的整数与小数部分
void splitfloat(float x,int *intpart,float *fracpart)
{
*intpart=(int)x;//强制转换为整型
*fracpart=x-*intpart;//直接减去整数部分可得小数部分
}
main(void)
{
float x,fracpart;//x=123.456,小数部分会输出为0.456001
int intpart;//x=345.89,小数部分为0.890015
printf("Enter x:");
scanf("%f",&x);
splitfloat(x,&intpart,&fracpart);
printf("整数部分:%d\n小数部分:%lf",intpart,fracpart);
return 0;
}
边栏推荐
- 基于php旅游网站管理系统获取(php毕业设计)
- 为冲销量下探中低端市场,蔚来新品牌产品定价低至10万?
- Station B responded that "HR said that core users are all Loser": the interviewer was persuaded to quit at the end of last year and will learn lessons to strengthen management
- php microtime encapsulates the tool class, calculates the running time of the interface (breakpoint)
- self-discipline
- 信创建设看广州|海泰方圆亮相2022 信创生态融合发展论坛
- 常用lambda表达式
- 如何免费获得一个市全年的气象数据?降雨量气温湿度太阳辐射等等数据
- 分享一款实用的太阳能充电电路(室内光照可用)
- 第5章 实现首页Tab数据展示
猜你喜欢

How does Filebeat maintain file state?

net start mysql 启动报错:发生系统错误5。拒绝访问。

如何免费获得一个市全年的气象数据?降雨量气温湿度太阳辐射等等数据

信创建设看广州|海泰方圆亮相2022 信创生态融合发展论坛

mysql advanced (twenty-four) method summary of defense against SQL injection

shell编程条件语句

PolarFormer: Multi-camera 3D Object Detection with Polar Transformers 论文笔记

【云原生 · Kubernetes】部署Kubernetes集群

无监督学习KMeans学习笔记和实例

Oracle is installed (system disk) and transferred from the system disk to the data disk
随机推荐
别再用if-else了,分享一下我使用“策略模式”的项目经验...
详解虚拟机!京东大佬出品HotSpot VM源码剖析笔记(附完整源码)
TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践
YOLOv5训练数据提示No labels found、with_suffix使用、yolov5训练时出现WARNING: Ignoring corrupted image and/or label
解决oracle安装在linux中jdk的冲突
第5章 实现首页Tab数据展示
如图,想批量读取mysql,批量处理,有哪个地方参数需要改变呢?
海外代购系统/代购网站怎么搭建——源码解析
awk入门教程
AMS simulation
fastposter v2.9.0 programmer must-have poster generator
苹果发布 AI 生成模型 GAUDI,文字生成 3D 场景
__unaligned修饰指针
广州番禺:暑期防溺水,安全不放假
Vs Shortcut Keys---Explore Different Programming
【云原生 · Kubernetes】部署Kubernetes集群
类型转换、常用运算符
用C语言解决A+B问题,A-B问题,A*B问题
R语言使用zoo包中的rollapply函数以滚动的方式、窗口移动的方式将指定函数应用于时间序列、计算时间序列的滚动标准差(设置每个窗口不重叠)
PolarFormer: Multi-camera 3D Object Detection with Polar Transformers 论文笔记

