首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此
admin
2010-09-05
48
问题
已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:把一个四位数的千位数字上的值加上个位数字上的值恰好等于百位数字上的值加上十位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数count并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数Wdata(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。
注意:部分源程序已经给出。程序中已定义数组a[200] b[200],已定义变量count。请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数Rdata()和写函数Wdata()的内容。
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], count = 0;
void NumCal ()
{
}
void Rdata ()
{ int i;
FILE *fp;
fp = fopen("IN. dat", "r");
for (i=0; i<MAX; i++)
fscanf(fp, "%d,", &a
);
fclose (fp);
}
void Wdata ()
{ FILE *fp;
int i;
fp = fopen("OUT. dat", "w");
fprintf(fp, "%d\n", count);
for (i=0; i<count; i++)
fprintf(fp, "%d\n", b
);
fclose (fp);
}
void main ()
{ int i;
Rdata ();
NumCal ();
printf("满足条件的数=%d\n", count);
for (i=0; i<count; i++)
printf("%d ", b
);
printf ("\n");
Wdata ();
}
选项
答案
void NumCal() { int i, thou, hun, ten, data, j; for (i=0; i<MAX; i++) { thou = a[i]/1000; hun = a[i]%1000/100; ten = a[i]%100/10; data = a[i]%10; if ((thou +data == hun +ten) && a[i]%2==1) { b[count] = a[i]; count++; } } for (i=0; i<count-1; i++) for (j=i+1; j<count; j++) if (b[i] >b[j]) { data = b[i]; b[i] = b[j]; b[j] = data; } } [解题思路] 对于每一个四位数,用这个四位数除以1000,可得到这个四位数千位上的数字输给变量thou;这个四位数对1000求余数然后再除以100,可得到这个四位数百位上的数字输给变量hun;这个四位数对100求余数然后再除以10,可得到这个四位数十位上的数字输给变量ten;这个四位数对10求余数,可得到这个四位数个位上的数字输给变量data。 然后判断表达式(thou+ data==hun+ ten) &&a[i]%2=1是否成立,如果成立,则把这个数赋给数组b,同时计数变量count加1。最后对数组b中元素进行从小到大的排序。
解析
转载请注明原文地址:https://kaotiyun.com/show/wuvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下列条目中哪些是数据库管理系统的基本功能模块?Ⅰ.数据库定义Ⅱ.数据库存取Ⅲ.数据库运行和管理Ⅳ.数据组织、存储和管理Ⅴ.数据库建立和维护
下列术语中,哪一个属于数据库三级模式结构中的内模式?
SQL语言集数据查询、数据操纵、数据定义和数据控制功能为一体,其中语句GRANT、REVOKE是实现_____功能。
对n个元素的序列采用冒泡排序的方法,最少的比较次数为______。
在一棵二叉排序树中,按______遍历得到的结点序列是有序序列。
已知一个待散列存储的线性表18,34,58,26,75,67,48,81,散列函数为H(k)=kmod11,若采用线性探测法解决冲突,则平均查找长度为______。若采用链接法解决冲突,则平均查找长度为______。
MicrosoftSQLServer2000和CommerceServer2000集成使用,可以创建B2B和B2C网站,并支持_____数据分析。
下列问题基于以下的叙述:关系模式R(B,C,M,T,A,G),根据语义有如下函数依赖集:F={B→C,(M,T)→B,(M,C)→T,(M,A)→T,(A,B)→C}。
可以将一个堆序列看成是一棵完全二叉树结点的层次序列,下面关键序列()就是一个堆。
在操作系统中,系统是通过______来感知进程的存在,通过对它的访问来获得描述进程情况及控制进程运行的全部信息。
随机试题
抗菌药物在外科疾病应用中,下列哪项叙述不正确?
A、病变累及左颈部淋巴结区B、病变累及右侧颈、腋下和腹股沟淋巴结C、病变累及左腋下淋巴结及肝脏D、病变累及右锁骨上及左颈部淋巴结E、病变累及左颈和纵隔淋巴结及左肺限局浸润Ⅳ期淋巴瘤
关于依赖性,下列哪项表述不正确()。
下列关于诉讼调解的说法,不正确的有:
批发和零售业总产出等于其主营业务收入。()[2011年中级真题]
下列选项中,属于项目建设条件分析中外部条件的是()。[2013年11月真题]
欧洲文艺复兴运动
Withthesocialchange,newpatternsofmarriagesemergedandreplacedarrangedmarriages.Thereisatendencyonthepartofyo
Must-seeWebsitesTheInternethasbillionsofwebsites.Youcouldspendyourwholelifesurfingthewebandnevervisitthem
A、Thefirstrow.B、Thesecondrow.C、Thethirdrow.D、Thefourthrow.D对话中,女士询问她是否可以坐在这里,男士表示抱歉,并说明前三排都是给公司的客人预留的。由此可见,女士只能坐在第三排
最新回复
(
0
)