欢迎来到天天文库
浏览记录
ID:50992028
大小:38.11 KB
页数:12页
时间:2020-03-17
《中国海洋大学2010-2011上学期20道上机题目答案.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C程序设计》课程期末上机考试考试时间:50分钟考试方式:从下面的20题中随机抽取一题,再附加一题,共需完成2道题。附加题不事先给定分值分配:第一题60分,第二题40分,共100分考试时间:第十八周1.编写函数longfun(longx),它的功能是:将长整型参数x中每一位上为偶数的数依次取出,构成一个新数返回。高位仍在高位,低位仍在低位。例如:下面程序运行时输入:124578902,程序输出:24802.#includelongfun(longx){longi,m,sum=0;intj=0,n;for(i=
2、x;i>0;){m=i%10;i=i/10;if(m%2==0){j++;for(n=1;n3、200,输出:25;若输入27720,输出:235711;若输入101,输出101。#include#includevoidfun(intk,int*p){intm,j,i,n=0;for(m=2;m<=k;m=m+1){j=sqrt(m);for(i=2;i<=j;i++){if(m%i==0)break;}if((i>=j+1)&&(k%m==0)){*(p+n)=m;k=k/m;if(k)n=n+1;}}*(p+n)=-1;}voidmain(){intx,a[17]={0},i;do{4、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,则输出:9861327054。#include#defi5、neN10voidfun(int*x,intn){inti,j,k,t;for(i=0;i<2;i++){k=i;for(j=i+1;jx[k])k=j;}t=x[k];x[k]=x[i];x[i]=t;}}voidmain(){inta[N],i;for(i=0;i6、float*w),对数组x进行如下操作:从第0个元素起对每5个元素求一个平均埴,并将这些均值依次存放在w所指的数组中。函数返回平均值的个数。例如:若输入n为14,14个数据为:112135245516275818011121314,则只为前10个求均值,输出结果为:29.2023.80#includeintfun(int*x,intn,float*w){inti,j,k;floats=0;for(i=0;i7、}w[i]=s/5.0;}return(n/5);}voidmain(){inta[30],i,n,m;floatb[6];printf("Inputanumber:");scanf("%d",&n);for(i=0;i8、值带回。例如,当x=2,y=1000时,程序输出8。#includeintfun(intx,longinty){inti;longsum=0,k=1;for(i=0;sum
3、200,输出:25;若输入27720,输出:235711;若输入101,输出101。#include#includevoidfun(intk,int*p){intm,j,i,n=0;for(m=2;m<=k;m=m+1){j=sqrt(m);for(i=2;i<=j;i++){if(m%i==0)break;}if((i>=j+1)&&(k%m==0)){*(p+n)=m;k=k/m;if(k)n=n+1;}}*(p+n)=-1;}voidmain(){intx,a[17]={0},i;do{
4、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,则输出:9861327054。#include#defi
5、neN10voidfun(int*x,intn){inti,j,k,t;for(i=0;i<2;i++){k=i;for(j=i+1;jx[k])k=j;}t=x[k];x[k]=x[i];x[i]=t;}}voidmain(){inta[N],i;for(i=0;i6、float*w),对数组x进行如下操作:从第0个元素起对每5个元素求一个平均埴,并将这些均值依次存放在w所指的数组中。函数返回平均值的个数。例如:若输入n为14,14个数据为:112135245516275818011121314,则只为前10个求均值,输出结果为:29.2023.80#includeintfun(int*x,intn,float*w){inti,j,k;floats=0;for(i=0;i7、}w[i]=s/5.0;}return(n/5);}voidmain(){inta[30],i,n,m;floatb[6];printf("Inputanumber:");scanf("%d",&n);for(i=0;i8、值带回。例如,当x=2,y=1000时,程序输出8。#includeintfun(intx,longinty){inti;longsum=0,k=1;for(i=0;sum
6、float*w),对数组x进行如下操作:从第0个元素起对每5个元素求一个平均埴,并将这些均值依次存放在w所指的数组中。函数返回平均值的个数。例如:若输入n为14,14个数据为:112135245516275818011121314,则只为前10个求均值,输出结果为:29.2023.80#includeintfun(int*x,intn,float*w){inti,j,k;floats=0;for(i=0;i7、}w[i]=s/5.0;}return(n/5);}voidmain(){inta[30],i,n,m;floatb[6];printf("Inputanumber:");scanf("%d",&n);for(i=0;i8、值带回。例如,当x=2,y=1000时,程序输出8。#includeintfun(intx,longinty){inti;longsum=0,k=1;for(i=0;sum
7、}w[i]=s/5.0;}return(n/5);}voidmain(){inta[30],i,n,m;floatb[6];printf("Inputanumber:");scanf("%d",&n);for(i=0;i8、值带回。例如,当x=2,y=1000时,程序输出8。#includeintfun(intx,longinty){inti;longsum=0,k=1;for(i=0;sum
8、值带回。例如,当x=2,y=1000时,程序输出8。#includeintfun(intx,longinty){inti;longsum=0,k=1;for(i=0;sum
此文档下载收益归作者所有