求此题程序?
时间:2011-12-14
来源:互联网
已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到OUT.DAT文件。例如:7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+1<>2+9,则该数不满足条件计算平均值pjz2.
真心菜鸟一个.想看完整的程序,慢慢分析.
还有最好能帮我指出其中的难点?
感谢了~
真心菜鸟一个.想看完整的程序,慢慢分析.
还有最好能帮我指出其中的难点?
感谢了~
作者: ydldh 发布时间: 2011-12-14
还是自己先写写吧!
作者: yuzhenhua001 发布时间: 2011-12-14
C/C++ code
#include <stdio.h> #define INPUT_FILE "IN.DAT" #define OUTPUT_FILE "OUT.DAT" #define NUM_OF_DATA 300 long g_Data[NUM_OF_DATA] = {0}; long g_PJZ1 = 0; long g_PJZ2 = 0; int g_Cnt = 0; bool jsValue(long l) { int i1, i2, i3, i4; i1 = l%10; l /= 10; i2 = l%10; l /=10; i3 = l%10; i4 = l/10; if ((i1+i2) == (i3+i4)) return true; return false; } void WriteData() { FILE* fp = fopen(OUTPUT_FILE, "wb"); fprintf(fp, "%l %l", g_PJZ1, g_PJZ2); fclose(fp); } void ReadData() { FILE* fp = fopen(INPUT_FILE, "rb"); for (int i = 0; i < NUM_OF_DATA; i++) { fscanf(fp, "%d", &g_Data[i]); } fclose(fp); } int main() { ReadData(); for (int i = 0; i < NUM_OF_DATA; i++) { if (jsValue(g_Data[i])) { g_PJZ1 += g_Data[i]; g_Cnt ++; } else g_PJZ2 += g_Data[i]; } g_PJZ1 /= g_Cnt; g_PJZ2 /= (NUM_OF_DATA-g_Cnt); WriteData(); return 0; }
作者: Jiao319 发布时间: 2011-12-14
还真不简单,菜鸟观看~
作者: lockie1988 发布时间: 2011-12-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28