首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:求出千位上的数加个位上的数等于百位上的数加十位上的数的四位数的个数count,再求出所有满足此条件的四位数的平均值Ave1
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:求出千位上的数加个位上的数等于百位上的数加十位上的数的四位数的个数count,再求出所有满足此条件的四位数的平均值Ave1
admin
2010-09-05
32
问题
已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:求出千位上的数加个位上的数等于百位上的数加十位上的数的四位数的个数count,再求出所有满足此条件的四位数的平均值Ave1,以及不满足此条件的四位数的平均值Ave2。最后调用写函数Wdata(),把结果输出到OUT.dat文件中。
例如:6712,6+2=7+1,则该数满足条件,计算平均值Ave1,且个数count=count+1。8129, 8+9!=1+2,则该数不满足条件,计算平均值Ave2。
注意:部分源程序已经给出。程序中已定义数组a[300],已定义变量count、Ave1、Ave2。请勿改动主函数main()、读函数Rdata()和写函数Wdata()的内容。
#include <stdio. h>
int a[300], count = 0;
double Ave1 = 0.0, Ave2 = 0.0;
void NumCal ()
{
}
void Rdata()
{ FILE *fp;
int i;
fp = fopen("IN. dat", "r");
for (i=0; i<300; i++)
fscanf( fp, "%d,", &a
;
fclose (fp);
}
void Wdata ()
{ FILE *fp;
fp = fopen("OUT. dat", "w");
fprintf(fp, "%d\n%7.2f\n%7.2f\n", count, Ave1, Ave2);
fclose (fp);
}
main ()
{ Rdata ();
NumCal ( );
Wdata ();
printf ("count=%d\n 满足条件的平均值 Ave1=%7.2f\n 不满足条件的平均值Ave2=%7.2f\n", count, Ave1, Ave2);
}
选项
答案
void NumCal() { int i, n = 0, thou, hun, ten, data; for (i=0; i<300; i++) { thou = a[i]/1000; hun = a[i]%1000/100; ten = a[i]%100/10; data = a[i]%10; if (thou+ data == hun+ ten) { count++; Ave1 += a[i]; } else { n++; Ave2 += a[i]; } } Ave1 /= count; Ave2 /= n; } [解题思路] 对于每一个四位数,用这个四位数除以1000,可得到这个四位数千位上的数字输给变量thou;这个四位数对1000求余数然后再除以100,可得到这个四位数百位上的数字输给变量hun;这个四位数对100求余数然后再除以10,可得到这个四位数十位上的数字输给变量ten;这个四位数对10求余数,可得到这个四位数个位上的数字输给变量data。 然后判断表达式thou+ data==hun+ ten是否成立,如果成立,则计数变量count加1,同时把这个数加到变量Ave1上;否则计数变量n加1,同时把这个数加到变量Ave2上。循环结束后,变量Ave1的值除以count,就得到所有满足此条件的四位数的平均值Ave1;变量 Ave2的值除以n,就得到有不满足此条件的四位数的平均值Ave2。
解析
转载请注明原文地址:https://kaotiyun.com/show/uuvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
在关系代数中,从两个关系的笛卡尔积中,选取它们的属性间满足一定条件的元组的操作,称为
对n个记录的文件进行起泡排序,所需要的辅助存储空间为
数据库管理系统是位于用户和______系统之间的一个数据管理软件。
ROM中的信息是______。
在SQL语言中,如果要为一个基本表增加列和完整性的约束条件,应该使用SQL语句_____。
要执行一条指令copyAtoB,若指令本身跨越了两个页面,而数据块A、B又分别跨越了两个页面,那么该指令涉及到的缺页中断次数为()。
I/O通道一般分为三种类型,数组选择通道、______、______。
在Internet提供的E-mail服务中,向邮件服务器发送电子邮件时一般使用_____协议。
Internet主要是由使用网络的各种主机、传输数据的通信线路以及连接主机与通信线路的_____等组成。
下列关于链式存储结构的叙述中,哪一(些)条是正确的?Ⅰ.逻辑上相邻的结点物理上不必邻接Ⅱ.每个结点都包含恰好一个指针域Ⅲ.用指针来体现数据元素之间逻辑上的联系Ⅳ.结点中的指针都不能为空Ⅴ.可以通过计算直接确
随机试题
心衰患者饮食心律失常病人饮食
急性病人面色突然变得苍白属于
下列对诊断早期原发性肝癌最有价值的检查是
股静脉穿刺点位于紧靠股动脉内侧0.5cm处。()
审查施工图预算时,分组审查法与全面审查法相比,具有()的特点。
假设某商业银行的业务如下:①各项存款2200万元;②各项贷款1400万元;③库存现金10077万元;④向央行办理票据再贴现100万元;⑤开办信托投资业务150万元;⑥发行金融债券300万元;⑦在央行存款200万元;⑧承诺向水电厂贷款80万元。根据上述资料
下列有关注册会计师合理运用职业判断的说法中,不正确的有()。
我们把海螺壳扣在耳朵上.可以听到像海潮一样的声音,其实这是()。
已知效用函数为U=logaX+logaY,预算约束为Px·x+Py·y=M。求:(1)消费者均衡条件;(2)X与Y的需求函数。
AlthoughacupuncturehasbeenpracticedinChinafor2,000years,itsuseintheWesternworldisstillverynew.Severalhospit
最新回复
(
0
)