已知数据文件IN10.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一
已知数据文件IN10.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从小到大的顺序进行排序,最后调用写函数 writeDat()把数组b中的数输出到OUT10.DAT文件。
例如:9123,9-1-2-3>0,则该数满足条件存入数组b,且个数cnt=cnt+1。
9812,9-8-1-2<0,则该数不满足条件,忽略。
注意:部分源程序已给出。程序中已定义数组:a[300],b[300];已定义变量:cnt。请勿改动主函数main()、读函数 readDat()和写函数writeDat()的内容。
[试题程序]
include<stdio.h>
int a[300],b[300],cnt=0;
jsValue()
{
}
main()
{
int i;
readDat();
jsValue();
writeDat();
for(i=0;i<cnt;i++)prmtf("b[%d]=%d\n",i,b[i]);
}
readDat()
{
FILE *fp;
int i;
fp=fopen("IN10.DAT","r");
for(i=0;i<300;i++)fscanf(fP,"%d,",&a[i]);
fclose(fp);
}
writeDat()
}
FILE *fp;
int i;
fp={open("OUT10.DAT","w");
fprint{(fP,"%d\n",cnt);
for(i=0;i<cnt;i++)fprintf(fp,"%d\n",b[i]);
fclose(fp);
}
jsValue() { int i,thou,hun,ten,data,j; for(i=0;i300;i++) { thou=a[i]/1000; /*取得四位数的千位数字*/ hun=a[i]%1000/100; /*取得四位数的百位数字*/ ten=a[i]%100/10; /*取得四位数的十位数字*/ data=a[i]%10; /*取得四位数的个位数字*/ if(thou-hun-ten-data>0) {b[cnt]=a[i];;cnt++;} } for(i=0;icnt-1;i++) /*将数组b中的四位数按从小到大的顺序进行排序*/ for(j=i+1;jcnt;j++) if(b[i]>b[j]){data=b[i];b[i]=b[j];b[j]=data;) } [解析] 此题型考查的知识点包括以下几方面: (1) 运算符“/”(相除)和“%”(取余)的灵活运用; (2) 循环结构的使用; (3) 数据的排序(在这里主要是使用选择排序法); (4) 选择结构的使用。 根据题目要求:先顺序查找数组a中的每个元素,并通过语句"thou=a[i]/1000;hun=a[i]%1000/100;ten=a[i]% 100/10;data=a[i]%10;”分别获取该四位数的千位、百位、十位和个位数字;然后进行条件判断,把满足条件为:将满足“千位数-百位数-十位数-个位数>0”的四位数存入数组b中,并用变量cnt来记录满足条件的数值的个数;查找完数组a中的所有元素后,运用选择排序法将数组b中的元素进行升序排列。
已知有机物A能发生以下转化,并且A可以作为水果的催熟剂,在一定条件下A可以发生自身加成反应,形成高 化学 2020-04-08 …
(10分)已知A、B、C、D、E五种芳香化合物的分子式都是C8H8O2,请分别写出它们的可能结构简 化学 2020-05-13 …
某参观团根据下列条件从a,b,c,d,e五个地方选定参观地点:1.若去a地也必须去b地2.b,c两 数学 2020-05-13 …
已知a+b+c=H a+b+e=J a+d+e=K b+c+d=M c+d+e=N 求a=?b=? 数学 2020-05-16 …
设A是数域P上的n阶方阵,令W1={X∈P^n|(A-E)X=0},W2={X∈P^n|(A+E) 数学 2020-06-17 …
设n阶矩阵A=E-a*a^T,其中a是n维非零列向量,证明1.A^2=A的充要条件是a^T*a设n 数学 2020-06-23 …
线性代数——矩阵,不太懂其中一个推论:方阵A可逆的充分必要条件是(r)E方阵A可逆的充分必要条件是 数学 2020-07-30 …
1)设n阶方阵A和B满足条件A^2-AB=E,已知A=11-101100-1,求矩阵B,请写出相关过 数学 2020-11-07 …
已知有机物A能发生以下转化,并且A可以作为水果的催熟剂,在一定条件下,A可以发生自身加成反应,形成高 化学 2020-11-28 …
A、B是互斥事件,请问:A、B是独立事件吗?是不是两件事是互斥事件,就不可能是独立事件?请举具体例子 数学 2020-12-01 …