计算机等级考试3级网络上机考试题库_第1页
计算机等级考试3级网络上机考试题库_第2页
计算机等级考试3级网络上机考试题库_第3页
计算机等级考试3级网络上机考试题库_第4页
计算机等级考试3级网络上机考试题库_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDatO读取这100个销售记录

并存入结构数组sell中。请编制函数SortDatO,其功能要求:按产品名称从小到大进行排

列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中。

最后main。函数调用函数WriteDatO把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品名称比较

请用函数stremp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PROGLC中。请勿改动主函数main。、读函数ReadDat()和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-l;i++)/*选择法排序*/

for(j=i+l;j<MAX;j++)

if(stremp(sellLi],me,sell[j].mc)>0/*判断条件*/

stremp(sei1[i],me,sell[j],mc)==0&&sell[i].je>sell[j],je)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

2、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDatO读取这100个销售记录

并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排

列,若产品名称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中。

最后main。函数调用函数WriteDatO把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品名称比较

请用函数stremp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PROG1.C中。请勿改动主函数main。、读函数ReadDat()和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-1;i++)/*选择法排序*/

for(j=i+l;j<MAX;j++)

if(stremp(sell[i].me,sell[j].mc)<0/*判断条件*/

Istremp(sei1[i].me,sell[j].mc)=0&&sell[i].je<sell[j].je)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

)

3、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDatO读取这100个销售记录

并存入结构数组sell中。请编制函数SortDatO,其功能要求:按产品代码从小到大进行排

列,若产品代码相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中。

最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品代码比较

请用函数stremp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PR0G1.C中。请勿改动主函数main。、读函数ReadDatO和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-l;i++)/*选择法排序*/

for(j=i+l;j<MAX;j++)

if(stremp(sell[i].dm,sell[j].dm)>0/*判断条件*/

11stremp(sei1[i].dm,sell[j].dm)==0&&sell[i].je>sell[j].je)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

4、己知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDatO读取这100个销售记录

并存入结构数组sell中。请编制函数SortDatO,其功能要求:按金额从大到小进行排列,

若金额相等,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中。最后

mainO函数调用函数WriteDat()把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品代码比较

请用函数stremp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PROGLC中。请勿改动主函数main。、读函数ReadDat()和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-l;i++)/*选择法排序*/

for(j=i+l;j<MAX;j++)

if(sell[i].je<sell[j].je/*判断条件*/

\sell[i].je=sell[j].je&&strcmp(sell[i].dm,sell[j],dm)<0)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

5、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDatO读取这100个销售记录

并存入结构数组sell中。请编制函数SorlDatO,其功能要求:按产品名称从大到小进行排

列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中。

最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品名称比较

请用函数stremp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PR0G1.C中。请勿改动主函数main。、读函数ReadDat()和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-l;i++)/*选择法排序*/

for(j=i+l;j〈MAX;j++)

if(strcmp(sell[i].me,sell[j].mc)<0/*判断条件*/

I|stremp(sell[i].me,sell[j].mc)==0&&sel1[i].je>sell[j].je)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

)

6、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录

并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,

若金额相等,则按产品名称从小到大进行排列,最终排列结果仍存入结构数组sell中。最后

main。函数调用函数WriteDat()把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品名称比较

请用函数strcmp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PROG1.C中。请勿改动主函数main。、读函数ReadDatO和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-1;i++)/*选择法排序*/

for(j=i+l;j<MAX;j++)

if(sell[i].je<sell[j].je/*判断条件*/

I|sell[i].je=sell[j].je&&strcmp(sell[i].me,sell[j].me)>0)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

)

7、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额jc(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDatO读取这100个销售记录

并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排

列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中。

最后main。函数调用函数WriteDal()把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品代码比较

请用函数stremp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PROG1.C中。请勿改动主函数main。、读函数ReadDat()和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-l;i++)/*选择法排序*/

for(j=i+l;j<MAX;j++)

if(stremp(sell[i].dm,sell[j].dm)<0/*判断条件*/

I|stremp(seil[i].dm,sell[j].dm)=0&&sell[i].je<sell[j].je)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

}

8、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDatO读取这100个销售记录

并存入结构数组sell中。请编制函数SortDatO,其功能要求:按产品名称从小到大进行排

列,若产品名称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中。

最后main。函数调用函数WriteDatO把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品名称比较

请用函数stremp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PROGLC中。请勿改动主函数main。、读函数ReadDat()和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-l;i++)/*选择法排序*/

for(j=i+l;j<MAX;j++)

if(stremp(sellLi],me,sell[j].mc)>0/*判断条件*/

stremp(sei1[i],me,sell[j],mc)==0&&sell[i].je<sell[j],je)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

9、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDatO读取这100个销售记录

并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,

若金额相等,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中。最后

main。函数调用函数WriteDat()把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品代码比较

请用函数stremp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PROG1.C中。请勿改动主函数main。、读函数ReadDat()和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-l;i++)/*选择法排序*/

for(j=i+l;j<MAX;j++)

if(sellti].je>sell[j].je/*判断条件*/

Isell[i].je=sell[j].je&&strcmp(sell[i].dm,sell[j].dm)<0)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

)

10、己知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字

符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长

整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDatO读取这100个销售记录

并存入结构数组sell中。请编制函数SortDatO,其功能要求:按金额从小到大进行排列,

若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中。最后

main。函数调用函数WriteDat()把结果输出到文件OUT.DAT中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品代码比较

请用函数stremp进行解题。

例如:sell[i]=temp;

注意:部分源程序存放在PR0G1.C中。请勿改动主函数main。、读函数ReadDatO和输出

函数WriteDat()的内容。

【参考答案】

voidSortDat()

{inti,j;/*定义变量*/

PROtemp;

for(i=0;i<MAX-l;i++)/*选择法排序*/

for(j=i+l;j<MAX;j++)

if(sell[i].je>sell[j].je/*判断条件*/

11sell[i].je=sell[j].je&&strcmp(sell[i].dm,sell[j].dm)>0)

{temp=sell[i];

sell[i]=sell[j];

sell[j]=temp;

11、己知数据文件IN.DAT中存有300个四位数,并已调用读函数readDatO把这些数存入

数组a中,请编制一函数jsValueO,其功能是:求出千位数上的数加个位数上的数等于百位

数上的数加卜位数上的数的个数ent,再把所有满足此条件的四位数依次存入数组b中,然后

对数组b的四位数按从小到大的顺序进行排序。最后main。函数调用写函数writeDatO把数

组b中的数输出到文件OUT.DAT中。

例如:6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+l。

8129,8+9!=1+2,则该数不满足条件忽略。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[300],b[300],已

定义变量:ento请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsValue()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<300;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4+al—a3+a2)/*判断条件*/

b[cnt++]=a[i];

)

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]>b[jj)

{temp=b[i];

b[i]=b[j];

b[j]=temp;

)

12、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是奇数,则统

计出满足此条件的个数ent并把这些四位数按从大到小的顺序存入数组b中。最后main。函数

调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[200],b[200],已

定义变量:ente请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsVal()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<MAX;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(al%2==l&&a2%2^l&&a3%2=l&&a4%2==1)/*判断条件*/

b[cnt++]=a[i];

)

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]<b[j])

{temp=b[i];

b[i]=b[jL

b[j]=temp;

}

13、已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDatO把这些数存入

数组a中,请编制-函数jsValueO,其功能是:求出千位数上的数加百位数上的数等于十位

数上的数加个位数上的数的个数ent,再把所有满足此条件的四位数依次存入数组b中,然后

对数组b的四位数按从大到小的顺序进行排序。最后main。函数调用写函数writeDatO把数

组b中的数输出到文件OUT.DAT中。

例如:7153,7+1=5+3,则该数满足条件存入数组b中,且个数cnt=cnt+l。

8129,8+1!=2+9,则该数不满足条件忽略。

注意:部分源程序存在文件PROGLC文件中。程序中已定义数组:a[300],b[300],已

定义变量:ent。请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDatO

和写函数writeDat()的内容。

【参考答案】

jsValue()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<300;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4+a3=a2+al)/*判断条件*/

b[cnt++]=a[i];

)

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]<b[j])

{temp=b[i];

b[i]=b[j];

b[j]=temp;

)

14、已知数据文件INI.DAT和IN2.DAT中分别存有100个两位十进制数,并且己调用读函

数readDatO把这两个文件中的数存入数组a和b中,请考生编制一个函数jsVal(),实现的功

能是依次对数组a和b中的数按条件重新组成一个新数并依次存入数组c中,再对数组c中的数

按从小到大的顺序进行排序,最后调用输出函数writeDat()把结果c输出到文件OUT.DAT中。

组成新数的条件:如果数组a和b中相同下标位置的数必须符合一个是偶数,另一个是奇数,

则数组a中的数按二进制数左移八位后再加上数组b对应位置上的数,把这样组成的新数依次

存入数组c中。

例如:a:1233241521

b:3235171518

C:61615394

排序后c:53946161

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义:a[100]、b[100]^c[100]o

请勿改动数据文件INI.DAT和IN2.DAT中的任何数据、主函数main。、读函数readDat()和写

函数writeDat()的内容。

【参考答案】

voidjsVal0

{inti,j;/*定义变量*/

inttemp;

for(i=0;i<MAX;i++)

if(a[i]%2==l&&b[i]%2==01Ia[i]%2=0&&b[i]%2==1)/*判断条件*/

c[cnt++]=(a[i]«8)+b[i];

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(c[i]>c[j])

{temp=c[i];

c[ij=c[j];

c[j>temp;

)

15、已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入

数组a中,请编制一函数jsValueO,其功能是:求出千位数上的数减百位数上的数减十位数

上的数减个位数上的数大于零的个数ent,再把所有满足此条件的四位数依次存入数组b中,

然后对数组b的四位数按从小到大的顺序进行排序。最后main。函数调用写函数writeDatO

把数组b中的数输出到文件OUT.DAT中。

例如:9123,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+l。

9812,9-8-1-2<0,则该数不满足条件忽略。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[300],b[300],已

定义变量:cnt»请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsValue()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<300;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4-a3-a2-al>0)/*判断条件*/

b[cnt++]=a[i];

)

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]>b[j])

{temp=b[i];

b[i]=b[j];

b[j]=temp;

}

16、程序PR0G1.C的功能是:选出1000至9999范围内的所有素数,且符合下面条件:千

位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位

数字与千位数字之差的正10倍。计算并输出这些四位自然数的个数ent以及这些数的和sum。

请编写函数countValue()实现程序的要求。最后main()函数调用函数writeDATO把结果ent

和sum输出到OUT.DAT文件中。

注意:部分源程序存放在PROGLC中。请勿改动主函数main()和输出数据函数writeDAT()

的内容。

【参考答案】

voidcountValue()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

for(i=1000;i<=9999;i++)

{al=i%10;/*数位分解*/

a2=i%100/10;

a3=i%1000/100;

a4=i/1000;

for(j=2;j<i;j++)

if(i%j==O)

break;

if(j=i&&a4+a3==a2+al&&a4+a3==(al-a4)*10)/*判断条件*/

{cnt++;

sum+=i;

)

)

17、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均为。或2或4或6

或8中的一个数字,则统计出满足此条件的个数ent,并把这些四位数按从大到小的顺序存入

数组b中。最后mian()函数调用写函数writeDatO把结果ent以及数组b中符合条件的四位数

输出到OUT.DAT文件中。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[200],b[200],已

定义变量:ent。请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsVal()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<MAX;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a1%2==0&&a2%2==0&&a3%2=0&&a4%2==0)/*判断条件*/

b[cnt++]=a[i];

}

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]<b[j])

{temp=b[i];

b[i]=b[j];

b[j]=temp;

}

18、已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入

数组a中,请编制一函数jsValueO,其功能是:求出个位数上的数减千位数上的数减百位数

上的数减卜位数上的数大于零的个数ent,再把所有满足此条件的四位数依次存入数组b中,

然后对数组b的四位数按从大到小的顺序进行排序。最后main。函数调用写函数writeDatO

把数组b中的数输出到文件OUT.DAT。

例如:1239,9-1-2-3>0,则该数满足条件存入数组b中,且个数cnt=cnt+l。

8129,9-8-1-2<0,则该数不满足条件忽略。

注意:部分源程序存在文件PROGLC文件中。程序中已定义数组:a[300Lb[300],已

定义变量:ento请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsValue()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<300;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(al-a4-a3-a2>0)/*判断条件*/

b[cnt++]=a[i];

}

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]<b[j])

{temp=b[i];

b[i]=b[j];

b[j]=temp;

19、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数位置上的值减去百

位数位置上的值再减去十位数位置上的值最后减去个位数位置上的值,如果得出的值大于等

于零且原四位数是奇数,则统计出满足此条件的个数ent并把这些四位数按从小到大的顺序

存入数组b中,最后调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到

OUT.DAT文件中。

注意:部分源程序存在文件PROGLC文件中。程序中已定义数组:a[200],b[200],已

定义变量:ent。请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsVal()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<MAX;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4-a3-a2-al>=0&&a[i]%2=l)/*判断条件*/

b[cnt++]=a[i];

)

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]>b[j])

{temp=b[i];

b[i]=b[j];

b[j]=temp;

)

20、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:若一个四位数的千位数位置上的值大于等

于百位数位置上的值,百位数位置上的值大于等于十位数位置上的值,以及十位数位置上的

值大于等于个位数位置上的值,并且原四位数是奇数,则统计出满足此条件的个数ent并把

这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDatO把结果ent以及数

组b中符合条件的数输出到OUT.DAT文件中。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[200],b[200],已

定义变量:ent。请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsVal()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<MAX;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4>=a3&&a3>=a2&&a2>=al&&a[i]%2=l)/*判断条件*/

b[cnt++]=a[i];

}

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]>b[j])

{temp=b[i];

b[i]=b[j];

b[j]=temp;

21、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:把一个四位数的千位数位置上的值加上个

位数位置上的值恰好等于百位数位置上的值加上十位数位置上的值,并且原四位数是奇数,

则统计出满足此条件的个数ent并把这些四位数按从小到大的顺序存入数组b中,最后调用写

函数*TiteDatO把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[200],b[200],已

定义变量:ent。请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsVal()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<MAX;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4+al=a3+a2&&a[i]%2—1)/*判断条件*/

b[cnt++]=a[i];

)

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]>b[j])

{temp=b[i];

b[i]=b[j];

b[j]=temp;

}

22、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:把•个四位数的千位数位置上的值加上十

位数位置上的值恰好等于百位数位置上的值加上个位数位置上的值,并且原四位数是偶数,

则统计出满足此条件的个数ent并把这些四位数按从小到大的顺序存入数组b中,最后调用写

函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[200],b[200],已

定义变量:ento请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat。

和写函数writeDat()的内容。

【参考答案】

voidjsVal()

{inti,j;/*定义变量*/

intal,a2,a3,a4;

inttemp;

for(i=0;i<MAX;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4+a2=a3+al&&a[i]%2=0)/*判断条件*/

b[cnt++]=a[i];

)

for(i=0;i<cnt-l;i++)/*选择法排序*/

for(j=i+l;j<cnt;j++)

if(b[i]>b[j])

{temp=b[i];

b[i]=b[j];

b[j]=temp;

}

23、己知数据文件IN.DAT中存有300个四位数,并己调用读函数readDat()把这些数存入

数组a中,请编制一函数jsValueO,其功能是:求出千位数上的数加百位数上的数等于十位

数上的数加个位数上的数的个数ent,再求出所有满足此条件的四位数平均值pjzl,以及所

有不满足此条件的四位数平均值pjz2。最后main。函数调用写函数writeDatO把结果ent,

pjzl,pjz2输出到OUT.DAT文件。

例如:7153,7+1=5+3,则该数满足条件计算平均值pjzl,且个数cnt=cnt+l。

8129,8+1!=2+9,则该数不满足条件计算平均值pjz2。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[300],已定义变量:

ent,pjzl,pjz2。请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsValue()

{inti;/*定义变量*/

intal,a2,a3,a4;

for(i=0;i<300;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4+a3==a2+al)/*判断条件*/

{pjzl+=a[i];

cnt++;

)

elsepjz2+=a[i];

)

pjzl/=cnt;/*求平均值*/

pjz2/=(300-cnt);

24、己知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入

数组a中,请编制一函数jsValueO,其功能是:求出个位数上的数减千位数上的数减百位数

上的数减十位数上的数大于零的个数ent,再求出所有满足此条件的四位数平均值pjzL以

及所有不满足此条件的四位数平均值pjz2。最后main。函数调用写函数writeDatO把结果

ent,pjzl,pjz2输出到OUT.DAT文件。

例如:1239,9-1-2-3>0,则该数满足条件,参加计算平均值pjzl,且个数cnt=cnt+l。

8129,9-8-1-2<0,则该数不满足条件,参加计算平均值pjz2。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[300],已定义变量:

ent,pjzl,pjz2。请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

jsValueO

{inti;/*定义变量*/

intal,a2,a3,a4;

for(i=0;i<300;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(al-a4-a3-a2>0)/*判断条件*/

{pjzl+=a[i];

cnt++;

)

elsepjz2+=a[i];

}

pjzl/=cnt;/*求平均值*/

pjz2/=(300-cnt);

25、已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入

数组a中,请编制一函数jsValueO,其功能是:求出千位数上的数加个位数上的数等于百位

数上的数加十位数上的数的个数ent,再求出所有满足此条件的四位数平均值pjzl,以及所

有不满足此条件的四位数平均值pjz2。最后main()函数调用写函数writeDat()把结果ent,

pjzl,pjz2输出到OUT.DAT文件。

例如:6712,6+2=7+1,则该数满足条件计算平均值pjzl,且个数cnt=cnt+l。

8129,8+9!=1+2,则该数不满足条件计算平均值pjz2°

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[300],已定义变量:

ent,pjzl,pjz2o请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat。

和写函数writeDat()的内容。

【参考答案】

voidjsValue()

{inti;/*定义变量*/

intal,a2,a3,a4;

for(i=0;i<300;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4+al—a3+a2)/*判断条件*/

{pjzl+=a[i];

cnt++;

)

elsepjz2+=a[i];

}

pjzl/=cnt;/*求平均值*/

pjz2/=(300-cnt);

26、已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入

数组a中,请编制一函数jsValueO,其功能是:求出千位数上的数减百位数上的数减卜位数

上的数减个位数上的数大于零的个数ent,再求出所有满足此条件的四位数平均值pjzl,以

及所有不满足此条件的四位数平均值pjz2。最后main。函数调用写函数writeDatO把结果

ent,pjzl,pjz2输出到OUT.DAT文件。

例如:9123,9-1-2-3>0,则该数满足条件计算平均值pjzl,且个数cnt=cnt+l。

9812,9-8-1-2<0,则该数不满足条件计算平均值pjz2。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[300],已定义变量:

ent,pjzl,pjz2o请勿改动数据文件IN.DAT中的任何数据、主函数main。、读函数readDat()

和写函数writeDat()的内容。

【参考答案】

voidjsValue()

{inti;/*定义变量*/

intal,a2,a3,a4;

for(i=0;i<300;i++)

{al=a[i]%10;/*数位分解*/

a2=a[i]%100/10;

a3=a[i]%1000/100;

a4=a[i]/1000;

if(a4-a3-a2-al>0)/*判断条件*/

{pjzl+=a[i];

cnt++;

)

elsepjz2+=a[i];

}

pjzl/=cnt;/*求平均值*/

pjz2/=(300-cnt);

27、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入

数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的

含有两位数字的数ab(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数

的十位数字),以及把个位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十

位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数字),如果新组成的两

个数ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满

足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数

ento最后main。函数调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出

到文件OUT.DAT中。

注意:部分源程序存在文件PR0G1.C文件中。程序中已定义数组:a[200],b[200]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论