1正确地上机50套题目 2.docx
- 文档编号:29791896
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:126
- 大小:3.13MB
1正确地上机50套题目 2.docx
《1正确地上机50套题目 2.docx》由会员分享,可在线阅读,更多相关《1正确地上机50套题目 2.docx(126页珍藏版)》请在冰豆网上搜索。
1正确地上机50套题目2
第二十一套
给定程序中,函数fun的功能是:
将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
例如,s所指字符串为:
asd123fgh5##43df,
处理后新字符串为:
123543asdfgh##df。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include
#include
#include
#include
char*fun(char*s)
{inti,j,k,n;char*p,*t;
n=strlen(s)+1;
t=(char*)malloc(n*sizeof(char));
p=(char*)malloc(n*sizeof(char));
j=0;k=0;
for(i=0;i {if(isdigit(s[i])){ /**********found**********/ p[__1__]=s[i];j++;} else {t[k]=s[i];k++;} } /**********found**********/ for(i=0;i<__2__;i++)p[j+i]=t[i]; p[j+k]=0; /**********found**********/ return__3__; } main() {chars[80]; printf("Pleaseinput: ");scanf("%s",s); printf("\nTheresultis: %s\n",fun(s)); } 第1空参考答案: j 第2空参考答案: k 第3空参考答案: p 给定程序MODI1.C中函数fun的功能是: 首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数的尾部。 例如,当a所指字符串中的内容为“abcdefg”,b所指字符串中的内容为“1234”时,c所指数组中的内容应该为“a4b3c2d1efg”;而当a所指字符串中的内容为“1234”,b所指内容的内容为“abcdefg”时,c所指数组中的内容应该为“1g2f3e4dcba”。 请改正程序中的错误,使它能得出正确的结果。 #include #include voidfun(char*a,char*b,char*c) { inti,j;charch; i=0;j=strlen(b)-1; /************found************/ while(i>j) {ch=b[i];b[i]=b[j];b[j]=ch; i++;j--; } while(*a||*b){ /************found************/ If(*a) {*c=*a;c++;a++;} if(*b) {*c=*b;c++;b++;} } *c=0; } main() { chars1[100],s2[100],t[200]; printf("\nEnters1string: ");scanf("%s",s1); printf("\nEnters2string: ");scanf("%s",s2); fun(s1,s2,t); printf("\nTheresultis: %s\n",t); } 第1处参考答案: while(i 第2处参考答案: if(*a) 函数fun的功能是: 将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。 例如,若s所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除: 而字符1的ASCII码值为奇数,在数组中的下标也为奇数,因此不应当删除,其他以此类推。 最后t所指的数组中的内容应为“BDF12345”。 #include #include voidfun(char*s,chart[]) { } main() { chars[100],t[100];voidNONO(); printf("\nPleaseenterstringS: ");scanf("%s",s); fun(s,t); printf("\nTheresultis: %s\n",t); NONO(); } voidNONO() {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ chars[100],t[100]; FILE*rf,*wf; inti; rf=fopen("C: \\k01\\24000101\\in.dat","r"); wf=fopen("C: \\k01\\24000101\\out.dat","w"); for(i=0;i<10;i++){ fscanf(rf,"%s",s); fun(s,t); fprintf(wf,"%s\n",t); } fclose(rf); fclose(wf); } 第二十二套 给定程序中,函数fun的功能是: 计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回: 并将大于平均值的数放在形参y所指数组中,在主函数中输出。 列如,有10个正数: 4630324061745154826,平均值为: 30.500000 主函数中输出: 4632404548 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 #include #include #defineN10 doublefun(doublex[],double*y) {inti,j;doubleav; /**********found**********/ av=__1__; /**********found**********/ for(i=0;i for(i=j=0;i /**********found**********/ if(x[i]>av)y[__3__]=x[i]; y[j]=-1; returnav; } main() {inti;doublex[N]={46,30,32,40,6,17,45,15,48,26}; doubley[N]; for(i=0;i printf("\n"); printf("\nTheaverageis: %f\n",fun(x,y)); for(i=0;y[i]>=0;i++)printf("%5.0f",y[i]); printf("\n"); } 第1空参考答案: 0 第2空参考答案: x[i]/N 第3空参考答案: j++ 给定程序MODI1.C中函数fun的功能是: 根据整型形参m计算如下公式的值。 y= #include /************found************/ fun(intm) {doubley=0,d; inti; /************found************/ for(i=100,i<=m,i+=100) {d=(double)i*(double)i; y+=1.0/d; } return(y); } main() {intn=2000; printf("\nTheresultis%lf\n",fun(n)); } 第1处参考答案: doublefun(intm) 第2处参考答案: for(i=100;i<=m;i=i+100 #include #include #defineN10 typedefstructss {charnum[10];ints;}STU; voidfun(STUa[],STU*s) { } main() {STUa[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77}, {"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71}},m; inti;voidNONO(); printf("*****Theoriginaldata*****\n"); for(i=0;i fun(a,&m); printf("*****THERESULT*****\n"); printf("Thelowest: %s,%d\n",m.num,m.s); NONO(); } voidNONO() {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE*rf,*wf; STUa[N],m; inti; rf=fopen("C: \\k01\\24000101\\in.dat","r"); wf=fopen("C: \\k01\\24000101\\out.dat","w"); for(i=0;i<10;i++)fscanf(rf,"%s%d",a[i].num,&a[i].s); fun(a,&m); fprintf(wf,"Thelowest: %s,%d\n",m.num,m.s); fclose(rf); fclose(wf); } 第二十三套 #include #include #defineN10 doublefun(doublex[],double*av) {inti,j;doubled,s; s=0; for(i=0;i /**********found**********/ __1__=s/N; d=32767; for(i=0;i if(x[i]<*av&&*av-x[i]<=d){ /**********found**********/ d=*av-x[i];j=__2__;} /**********found**********/ return__3__; } main() {inti;doublex[N]={46,30,32,40,6,17,45,15,48,26}; doubleav,m; for(i=0;i printf("\n"); m=fun(x,&av); printf("\nTheaverageis: %f\n",av); printf("m=%5.0f",m); printf("\n"); } 第1空参考答案: *av 第2空参考答案: i 第3空参考答案: x[j] #include /************found************/ intfun(intn) {floatA=1;inti; /************found************/ for(i=2;i A=1/(1+A); returnA; } main() {intn; printf("\nPleaseentern: "); scanf("%d",&n); printf("A%d=%f\n",n,fun(n)); } 第1处参考答案: floatfun(intn) 第2处参考答案: for(i=1;i #include #include #defineN5 voidfun(inta[][N],intm) { } main() {inta[N][N],m,i,j;voidNONO(); printf("*****Thearray*****\n"); for(i=0;i {for(j=0;j {a[i][j]=rand()%20;printf("%4d",a[i][j]);} printf("\n"); } dom=rand()%10;while(m>=3); printf("m=%4d\n",m); fun(a,m); printf("THERESULT\n"); for(i=0;i {for(j=0;j printf("\n"); } NONO(); } voidNONO() {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE*rf,*wf; inti,j,n,a[5][5]; rf=fopen("C: \\k01\\24000101\\in.dat","r"); wf=fopen("C: \\k01\\24000101\\out.dat","w"); for(i=0;i<5;i++) for(j=0;j<5;j++) fscanf(rf,"%d",&a[i][j]); fscanf(rf,"%d",&n); fun(a,n); for(i=0;i<5;i++){ for(j=0;j<5;j++)fprintf(wf,"%4d",a[i][j]); fprintf(wf,"\n"); } fclose(rf); fclose(wf); } 第二十四套 #include #include #defineN10 doublefun(double*x) {inti,j;doubles,av,y[N]; s=0; for(i=0;i /**********found**********/ av=__1__; for(i=j=0;i if(x[i]>av){ /**********found**********/ y[__2__]=x[i];x[i]=-1;} for(i=0;i /**********found**********/ if(x[i]! =__3__)y[j++]=x[i]; for(i=0;i returnav; } main() {inti;doublex[N]={46,30,32,40,6,17,45,15,48,26}; for(i=0;i printf("\n"); printf("\nTheaverageis: %f\n",fun(x)); printf("\nTheresult: \n",fun(x)); for(i=0;i printf("\n"); } 第1空参考答案: s/N 第2空参考答案: j++ 第3空参考答案: -1 #include #include /************found************/ include /************found************/ voidupfst(charp) {intk=0; for(;*p;p++) if(k) {if(*p=='')k=0;} elseif(*p! ='') {k=1;*p=toupper(*p);} } main() {charchrstr[81]; printf("\nPleaseenteranEnglishtextline: ");gets(chrstr); printf("\n\nBeforechanging: \n%s",chrstr); upfst(chrstr); printf("\nAfterchanging: \n%s\n",chrstr); } 第1处参考答案: #include"stdio.h" 第2处参考答案: upfst(char*p) #include #include #defineN5 doublefun(intw[][N]) { } main() {inta[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1}; inti,j;voidNONO(); doubles; printf("*****Thearray*****\n"); for(i=0;i {for(j=0;j {printf("%4d",a[i][j]);} printf("\n"); } s=fun(a); printf("*****THERESULT*****\n"); printf("Thesumis: %lf\n",s); NONO(); } voidNONO() {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE*rf,*wf; inti,j,a[5][5];doubles; rf=fopen("C: \\k01\\24000101\\in.dat","r"); wf=fopen("C: \\k01\\24000101\\out.dat","w"); for(i=0;i<5;i++) for(j=0;j<5;j++)fscanf(rf,"%d",&a[i][j]); s=fun(a); fprintf(wf,"%lf\n",s); fclose(rf); fclose(wf); } 第二十五套 #include #include #defineN10 doublefun(double*x) {inti,j;doubleav,y[N]; av=0; /**********found**********/ for(i=0;i for(i=j=0;i if(x[i] /**********found**********/ y[j]=x[i];x[i]=-1;__2__;} i=0; while(i {if(x[i]! =-1)y[j++]=x[i]; /**********found**********/ __3__; } for(i=0;i returnav; } main() {inti;doublex[N]; for(i=0;i printf("\n"); printf("\nTheaverageis: %f\n",fun(x)); printf("\nTheresult: \n",fun(x)); for(i=0;i printf("\n"); } 第1空参考答案: x[i]/N 第2空参考答案: j++ 第3空参考答案: i++ #include voidfun(char*s,intnum[5]) {intk,i=5; for(k=0;k /**********found**********/ num[i]=0; for(;*s;s++) {i=-1; /**********found**********/ switch(s) {case'a': case'A': {i=0;break;} case'e': case'E': {i=1;break;} case'i': case'I': {i=2;break;} case'o': case'O': {i=3;break;} case'u': case'U': {i=4;break;} } if(i>=0) num[i]++; } } main() {chars1[81];intnum1[5],i; printf("\nPle
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1正确地上机50套题目 正确地 上机 50 题目
![提示](https://static.bdocx.com/images/bang_tan.gif)