资源描述:
《计算机二级上机答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一套:1..#includetypedefstruct{intnum;charname[9];charsex;struct{intyear,month,day;}birthday;floatscore[3];}STU;/**********found**********/voidshow(STU___1___){inti;printf("%d%s%c%d-%d-%d",tt.num,tt.name,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);for(i=0;i<3;i++)/****
2、******found**********/printf("%5.1f",___2___);printf("");}main(){STUstd={1,"Zhanghua",'M',1961,10,8,76.5,78.0,82.0};printf("Astudentdata:");/**********found**********/show(___3___);}答案:第一处:tt变量在函数体fun已经使用,所以应填:tt。第二处:利用循环分别输出学生的成绩数据,所以应填:tt.score[i]。第三处:函数的调用,所以应填:std。2..#include3、h>#defineN20voidfun(int*a,intn){inti,m,t,k;for(i=0;i<2;i++){/**********found**********/m=0;for(k=i+1;ka[m])k=m;t=a[i];a[i]=a[m];a[m]=t;}}main(){intb[N]={11,5,12,0,3,6,9,7,10,8},n=10,i;for(i=0;i4、;i++)printf("%d",b[i]);printf("");}答案:第一处:外循环每循环一次,把当前位置i赋值给m,所以应改为:m=i;。第二处:通过内循环来找出最大的一个数的位置k,所以应改为:if(a[k]>a[m])m=k;。3..#includeunsignedfun(unsignedw){}main(){voidNONO();unsignedx;printf("Enteraunsignedintegernumber:");scanf("%u",&x);printf("Theoriginaldatais:%u",x);if(x<10)pr
5、intf("Dataerror!");elseprintf("Theresult:%u",fun(x));NONO();}voidNONO(){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/unsignedx;inti;FILE*rf,*wf;rf=fopen("C:\WEXAM\24990001\in.dat","r");wf=fopen("C:\WEXAM\24990001\out.dat","w");for(i=0;i<20;i++){fscanf(rf,"%u",&x);fprintf(wf,"%u",fun(x));
6、}fclose(rf);fclose(wf);}答案:本题是考察考生怎样获取一个符合要求的无符号整数。本题是应用if条件语句首先判断给出的数是几位数,再模相应的值,最后得出的余数就是结果。unsignedfun(unsignedw){if(w>10000)w%=10000;elseif(w>1000)w%=1000;elseif(w>100)w%=100;elseif(w>10)w%=10;returnw;}第二套:1..程序填空题#include#include#defineM5#defineN20voidfun(char(*ss)[N])
7、{inti,j,k,n[M];chart[N];for(i=0;in[j])___2___;if(k!=i){strcpy(t,ss[i]);strcpy(ss[i],ss[k]);/**********found**