2019上机题

发布 2021-12-04 07:15:28 阅读 7180

一、填空题:程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。

函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下中。

不得增行或删行,也不得更改程序的结构!给定源程序:#include#define n 5

typedefstruct student stu;

void fun(char *filename)fp = fopen(filename, "wb");

found_3__(s, sizeof(stu), n, fp); 二进制输出*/fclose(fp);}

main()

stu t[n]=,ss[n];inti,j; file *fp;

fp = fopen(""wb");fwrite(t, sizeof(stu), 5, fp);fclose(fp);

printf("the original data :");for (j=0; j<="

printf("no: %ld name: %8s scores:

"t[j].sno, t[j].name);for (i=0; i<3; i++)printf("%6.

2f ",t[j].score[i]);printf("");

fun(""

printf("the data after sorting :");fp = fopen(""rb");fread(ss, sizeof(stu), 5, fp);fclose(fp);for (j=0; j<="

printf("no: %ld name: %8s scores:

"ss[j].sno, ss[j].name);for (i=0; i<3; i++)printf("%6.

2f ",ss[j].score[i]);printf("");

解题答案:第一空fp = fopen(filename, "rb");

第二空if (s[i].sno> s[j].sno)

第三空。fwrite(s, sizeof(stu), n, fp); 二进制输出*/

二、改错题:给定程序中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。

注意:字符串的长度最长允许为79。

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#include#include

void fun (char s,int n)

foundwhile(*p++)a[i]=0;strcpy(s,a);

main()

int n; char s[80];

printf("enter a string : gets(s);printf("the string \"s\"",s);

printf("enter n (number ofscanf("%d",&n);fun(s,n);

printf("the string after insert : s\" n" ,s);}

解题答案:foundp=s;

foundwhile(*p++)

三、程序题:请编写函数fun,函数的功能是:统计各年龄段的人数。

n个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余依此类推,把100岁(含100)以上年龄的人数都放在d[10]中。结果在主函数中输出。注意:

部分源程序在文件中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

给定源程序:#include#define n 50#define m 11

void fun(int *a, int *b){}

doublernd()

static t=29,c=217,m=1024,r=0;r=(r*t+c)%m; return((double)r/m);}

main()

int age[n], i, d[m];void nono (int d[m]);for(i=0; i< p=""

printf("the original data :");for(i=0;i

printf("");fun(age, d);

for(i=0;i<10;i++)printf("%4d---4d : 4d",i*10,i*10+9,d[i]);printf("over 100 : 4d",d[10]);nono(d);

void nono(int d[m])

/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/file *wf ;inti ;

wf = fopen(""w");

for(i = 0 ; i< 10 ; i++)fprintf(wf, "4d---4d : 4d", i*10, i*10+9, d[i]);fprintf(wf, "over 100 : 4d", d[10]);fclose(wf);}

doublernd()

static t=29,c=217,m=1024,r=0;r=(r*t+c)%m; return((double)r/m);}

2019上机题 部分

2011会计电算化上机题。一 考试时间 90 分钟,总分 100 分 二 考试科目 会计电算化模拟考试 三 考试内容 四 注意事项 一 系统管理 建立账套。账套号 605 账套名称 贵州铜业集团。账套路径 默认账套启用日期 2008年6月 单位名称 简称 贵铜集团。企业类型 工业行业性质 小企业会计...

2019信息检索上机题

姓名 雷波学号 109202010211系 机械系班级 09机本班。1 在中国知识基础设施工程 cnki 系列资源库的中国期刊全文数据库中检索篇名为 聚合硫酸铁的制备 发表在 四川师范大学学报 上的 6 1 给出检索策略。检索词 篇名 聚合硫酸铁的制备,刊名 四川师范大学学报,时间 1997 201...

数组上机题

数组。1 已知2个一维数组 a b 把数组a与数组b对应的元素乘积再赋值给数组b,如 b 2 a 2 b 2 最后输出数组b的元素。public class cheng int b new int 7 for int i 0 i b i i 1 for int i 0 i b i a i b i f...