资源描述:
《c语言上机考试题201012(答案)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C程序设计》课程期末上机考试考试时间:50分钟考试方式:从下面的20题中随机抽取一题,再附加一题,共需完成2道题。附加题不事先给定分值分配:第一题60分,第二题40分,共100分考试时间:第十八周longfun(longx){longi,a,b=1;longresult=0;for(i=1;x>=1;i=i++){a=x%10;if(a%2==0){result+=a*b;b=b*10;}x=x/10;}return(result);}1.编写函数longfun(longx),它的功能是:将长整型参数x中每一位
2、上为偶数的数依次取出,构成一个新数返回。高位仍在高位,低位仍在低位。例如:下面程序运行时输入:124578902,程序输出:24802.#includelongfun(longx){}voidmain(){longa,b;printf("Enteranumber:");scanf("%ld",&a);b=fun(a);printf("b=%ld",b);}2.编写函数voidfun(intk,int*p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以
3、-1作为所有质因子的结束标志。例如:下面程序运行时若输入200,输出:25;若输入27720,输出:235711;若输入101,输出101。voidfun(intk,int*p){inti,j,x=0;for(i=2;i<=k;i++){if(k%i==0){for(j=2;j<=i;j++){if(i%j==0)break;}if(j>=i){p[x]=i;x++;}}}for(i=x;i<17;i++)p[i]=-1;}#includevoidfun(intk,int*p){}voidmai
4、n(){intx,a[17]={0},i;do{printf("Enteranumber(2-32767):");scanf("%d",&x);}while(x<2);fun(x,a);for(i=0;a[i]!=-1;i++)printf("%d",a[i]);printf("");}3.编写函数voidfun(int*x,intn),功能是:求出长度为n的数组x中的最大数与次最大数,并把最大数和a[0]对调,次最大数与a[1]对调,其余的数保持不变。下面程序运行时若输入:2461397058,则输出:98
5、61327054。#include#defineN109voidfun(int*x,intn){inti,t,t2,max=0,imax=1;for(i=1;ix[max])max=i;}t=x[max];x[max]=x[0];x[0]=t;for(i=2;ix[imax])imax=i;}t2=x[imax];x[imax]=x[1];x[1]=t2;}voidfun(int*x,intn){}voidmain(){inta[N
6、],i;for(i=0;i7、果为:29.2023.80intfun(int*x,intn,float*w){inta,i,j;floatsum=0;a=n/5;for(i=0;iintfun(int*x,intn,float*w){}voidmain(){inta[30],i,n,m;floatb[6];printf("Inputanumber:");scanf("%d",&n);
8、for(i=0;i