欢迎来到天天文库
浏览记录
ID:15323660
大小:91.50 KB
页数:13页
时间:2018-08-02
《中国海洋大学c程考试题库20题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C程序设计》课程期末上机考试考试时间:40分钟考试方式:从下面的20题中随机抽取一题,再附加一题,共需完成2道题。分值分配:第一题60分,第二题40分,共100分考试时间:第十八周1.请编写函数longfun(longintx),功能是:将长整型数x中每一位上为奇数的数依次取出,并逆序构成一个新数返回。例如:程序运行时输入123456789,输出:b=97531。#includelongfun(longintx){longa,b=0;a=x;for(;a!=0;){if((a%10)%2!=0)b=b*10+a
2、%10;a/=10;}returnb;}voidmain(){longa,b;printf("Pleaseinputalongintnum:");scanf("%ld",&a);b=fun(a);printf("b=%ld",b);}2.编写函数voidfun(char*s,char*t,char*p)将未在字符串s中出现、而在字符串t中出现的字符,形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。例如:当s为"12345",t为"8624677"时,p中的字符为:"867";当s为”goodluc
3、k”,t为”thankyouverymuch”时,输出:”thanyverm”#includeinttest(char*s,intn,charch){inti;for(i=0;i4、idmain(){chars1[50],s2[50],s3[50];gets(s1);gets(s2);fun(s1,s2,s3);puts(s3);}3.编写函数intfun(intm),计算并返回满足表达式:1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)<=m最大的n。例如,当m=10000时,程序输出:n=38。intfun(intm){inta,i,s;for(a=1,s=0;s<=m;a++)for(i=1;i<=a;i++)s+=i;return(a-2);}voidmain(){i5、ntx;scanf("%d",&x);printf("n=%d",fun(x));}4.编写函数voidfun(int*x,intn),它的功能是:求出数组x中的最小数和次最小数,并把最小数和a[0]中的数对调、次最小数和a[1]中的数对调,其余的数保持不变。如程序运行时若输入:24611397058,则输出:02611397458。#defineN10voidfun(int*x,intn){inti,j,k,t;for(i=0;i<2;i++){k=i;for(j=i+1;j*(x+j)6、)k=j;if(k!=i){t=*(x+i);*(x+i)=*(x+k);*(x+k)=t;}}main(){inta[N],i;for(i=0;i7、=11,n=10,则函数返回:17。longsushu(m){inti;for(i=2;i=m)return1;elsereturn0;}longfun(inthigh,intn){inti,j=0;longs=0;if(high<=2)return0;for(i=high-1;i>1;i--)if(sushu(i)){s+=i;j++;if(j>=n)returns;}returns;}13voidmain(){intk,n;scanf("%d%d",&k,&n);prin8、tf("sum=%ld",fun(k,n));}6.请编写函数intfun(int*a,intn),它的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把奇数从数组中删除,偶数个数通过函数值返回,以-1作
4、idmain(){chars1[50],s2[50],s3[50];gets(s1);gets(s2);fun(s1,s2,s3);puts(s3);}3.编写函数intfun(intm),计算并返回满足表达式:1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)<=m最大的n。例如,当m=10000时,程序输出:n=38。intfun(intm){inta,i,s;for(a=1,s=0;s<=m;a++)for(i=1;i<=a;i++)s+=i;return(a-2);}voidmain(){i
5、ntx;scanf("%d",&x);printf("n=%d",fun(x));}4.编写函数voidfun(int*x,intn),它的功能是:求出数组x中的最小数和次最小数,并把最小数和a[0]中的数对调、次最小数和a[1]中的数对调,其余的数保持不变。如程序运行时若输入:24611397058,则输出:02611397458。#defineN10voidfun(int*x,intn){inti,j,k,t;for(i=0;i<2;i++){k=i;for(j=i+1;j*(x+j)
6、)k=j;if(k!=i){t=*(x+i);*(x+i)=*(x+k);*(x+k)=t;}}main(){inta[N],i;for(i=0;i7、=11,n=10,则函数返回:17。longsushu(m){inti;for(i=2;i=m)return1;elsereturn0;}longfun(inthigh,intn){inti,j=0;longs=0;if(high<=2)return0;for(i=high-1;i>1;i--)if(sushu(i)){s+=i;j++;if(j>=n)returns;}returns;}13voidmain(){intk,n;scanf("%d%d",&k,&n);prin8、tf("sum=%ld",fun(k,n));}6.请编写函数intfun(int*a,intn),它的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把奇数从数组中删除,偶数个数通过函数值返回,以-1作
7、=11,n=10,则函数返回:17。longsushu(m){inti;for(i=2;i=m)return1;elsereturn0;}longfun(inthigh,intn){inti,j=0;longs=0;if(high<=2)return0;for(i=high-1;i>1;i--)if(sushu(i)){s+=i;j++;if(j>=n)returns;}returns;}13voidmain(){intk,n;scanf("%d%d",&k,&n);prin
8、tf("sum=%ld",fun(k,n));}6.请编写函数intfun(int*a,intn),它的功能是:把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把奇数从数组中删除,偶数个数通过函数值返回,以-1作
此文档下载收益归作者所有