当前位置:网站首页>实数取整写入文件(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;
}
边栏推荐
- setTimeout, setInterval requestAnimationFrame
- Secure Custom Web Application Login
- 项目概述、推送和存储平台准备
- bash for loop
- 数据库系统原理与应用教程(076)—— MySQL 练习题:操作题 160-167(二十):综合练习
- 超多精美礼品等你来拿!2022年中国混沌工程调查启动
- B站回应“HR 称核心用户都是 Loser”:该面试官去年底已被劝退,会吸取教训加强管理
- 业界新标杆!阿里开源自研高并发编程核心笔记(2022最新版)
- 无监督学习KMeans学习笔记和实例
- PC client automation testing practice based on Sikuli GUI image recognition framework
猜你喜欢
随机推荐
第十五章 源代码文件 REST API 简介
随机森林项目实战---气温预测
数据库基础知识一(MySQL)[通俗易懂]
Random forest project combat - temperature prediction
海外代购系统/代购网站怎么搭建——源码解析
Mysql重启后innodb和myisam插入的主键id变化总结
The common problems in the futures account summary
期货公司开户关注的关键点
《数字经济全景白皮书》金融数字用户篇 重磅发布!
Feature Engineering Study Notes
第4章 搭建网络库&Room缓存框架
7月份最后一篇博客
flink流批一体有啥条件,数据源是从mysql批量分片读取,为啥设置成批量模式就不行
使用工作队列管理器(四)
Blog records life
Oracle is installed (system disk) and transferred from the system disk to the data disk
常用lambda表达式
广州番禺:暑期防溺水,安全不放假
安全自定义 Web 应用程序登录
How to build an overseas purchasing system/purchasing website - source code analysis











