资源描述:
《《C程序设计》课程期末上机考试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C程序设计》课程期末上机考试考试时间:40分钟考试方式:从下面的20题中随机抽取一题,再附加一题,共需完成2道题。分值分配:第一题60分,第二题40分,共100分考试时间:第十八周1.请编写函数longfun(longintx),功能是:将长整型数x中每一位上为奇数的数依次取出,并逆序构成一个新数返回。例如:程序运行时输入123456789,输出:b=97531。#includelongfun(longintx){}voidmain(){longa,b;printf("Pleaseinputalongin
2、tnum:");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为”goodluck”,t为”thankyouverymuch”时,输出:”thanyverm”#includevoidfun
3、(char*s,char*t,char*p){}voidmain(){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){8}voidmain(){intx;scanf("%d",&x);printf("n=%d"
4、,fun(x));}4.编写函数voidfun(int*x,intn),它的功能是:求出数组x中的最小数和次最小数,并把最小数和a[0]中的数对调、次最小数和a[1]中的数对调,其余的数保持不变。如程序运行时若输入:24611397058,则输出:02611397458。#defineN10voidfun(int*x,intn){}main(){inta[N],i;for(i=0;i5、("");}5.编写函数longfun(inthigh,intn),功能是:计算并返回high以内(不包含high)最大的n个素数之和。若不足n个,则到最小素数2为止。例如:若high=100,n=10,则函数的返回值为:732;若high=11,n=10,则函数返回:17。longfun(inthigh,intn){}voidmain(){intk,n;scanf("%d%d",&k,&n);printf("sum=%ld",fun(k,n));}6.请编写函数intfun(int*a,intn),它的功能是:把形
6、参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把奇数从数组中删除,偶数个数通过函数值返回,以-1作为有效数据的结束标志。例:若输入:123456789101112131415,输出:2468101214n=7intfun(int*a,intn)8{}voidmain(){intx[15],i,n;for(i=0;i<15;i++)scanf("%d",x+i);n=fun(x,15);for(i=0;x[i]!=-1;i++)printf("%d",x[i]);printf("n=%d",n
7、);}7.给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=5,有下列矩阵:12345计算结果为:100002345643000345676850045678810127056789101214169#defineN5voidfun(inta[N][N]){}voidmain(){intx[N][N]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7},{4,5,6,7,8},{5,6,7,8,9}},i,j;fu
8、n(x);for(i=0;i