欢迎来到天天文库
浏览记录
ID:28259826
大小:60.86 KB
页数:24页
时间:2018-12-09
《海大c程上机题附答案及附加题_1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.编写函数longfun(longx),它的功能是:将长整型参数x中每一位上为偶数的数依次取出,构成一个新数返回。高位仍在高位,低位仍在低位。例如:下面程序运行时输入:124578902,程序输出:24802.#includelongfun(longx){longi,m,sum=0;intj=0,n;for(i=x;i>0;){m=i%10;i=i/10;if(m%2==0){j++;for(n=1;n2、onga,b;printf("Enteranumber:");scanf("%ld",&a);b=fun(a);printf("b=%ld",b);}2.编写函数voidfun(intk,int*p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以-1作为所有质因子的结束标志。例如:下面程序运行时若输入200,输出:25;若输入27720,输出:235711;若输入101,输出101。#include#includevoidfun(in3、tk,int*p){inti,j,t=0;doubleb;for(i=2;i<=k;i++)先判断是不是质数,在判断是不是因子。{b=sqrt(i);for(j=2;j<=b;j++)if(i%j==0)break;if(j>b&&k%i==0){p[t]=i;t++;}p[t]=-1;}}voidmain(){intx,a[17]={0},i;do{printf("Enteranumber(2-32767):");scanf("%d",&x);}while(x<2);fun(x,a);for(i=0;a[i]!4、=-1;i++)printf("%d",a[i]);printf("");}3.编写函数voidfun(int*x,intn),功能是:求出长度为n的数组x中的最大数与次最大数,并把最大数和a[0]对调,次最大数与a[1]对调,其余的数保持不变。下面程序运行时若输入:2461397058,则输出:9861327054。#include#defineN10voidfun(int*x,intn){inti,j,k,t;for(i=0;i<2;i++){k=i;for(j=i+1;j5、采用打擂台法,找到最大数的下标。if(x[j]>x[k]){k=j;}t=x[k];x[k]=x[i];x[i]=t;}}voidmain(){inta[N],i;for(i=0;i6、所指的数组中。函数返回平均值的个数。例如:若输入n为14,14个数据为:112135245516275818011121314,则只为前10个求均值,输出结果为:29.2023.80#includeintfun(int*x,intn,float*w){intnum=n/5;注意每个数的类型,inttemp=0;inti;for(i=0;i7、/5;}returnnum;}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
2、onga,b;printf("Enteranumber:");scanf("%ld",&a);b=fun(a);printf("b=%ld",b);}2.编写函数voidfun(intk,int*p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以-1作为所有质因子的结束标志。例如:下面程序运行时若输入200,输出:25;若输入27720,输出:235711;若输入101,输出101。#include#includevoidfun(in
3、tk,int*p){inti,j,t=0;doubleb;for(i=2;i<=k;i++)先判断是不是质数,在判断是不是因子。{b=sqrt(i);for(j=2;j<=b;j++)if(i%j==0)break;if(j>b&&k%i==0){p[t]=i;t++;}p[t]=-1;}}voidmain(){intx,a[17]={0},i;do{printf("Enteranumber(2-32767):");scanf("%d",&x);}while(x<2);fun(x,a);for(i=0;a[i]!
4、=-1;i++)printf("%d",a[i]);printf("");}3.编写函数voidfun(int*x,intn),功能是:求出长度为n的数组x中的最大数与次最大数,并把最大数和a[0]对调,次最大数与a[1]对调,其余的数保持不变。下面程序运行时若输入:2461397058,则输出:9861327054。#include#defineN10voidfun(int*x,intn){inti,j,k,t;for(i=0;i<2;i++){k=i;for(j=i+1;j5、采用打擂台法,找到最大数的下标。if(x[j]>x[k]){k=j;}t=x[k];x[k]=x[i];x[i]=t;}}voidmain(){inta[N],i;for(i=0;i6、所指的数组中。函数返回平均值的个数。例如:若输入n为14,14个数据为:112135245516275818011121314,则只为前10个求均值,输出结果为:29.2023.80#includeintfun(int*x,intn,float*w){intnum=n/5;注意每个数的类型,inttemp=0;inti;for(i=0;i7、/5;}returnnum;}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
5、采用打擂台法,找到最大数的下标。if(x[j]>x[k]){k=j;}t=x[k];x[k]=x[i];x[i]=t;}}voidmain(){inta[N],i;for(i=0;i6、所指的数组中。函数返回平均值的个数。例如:若输入n为14,14个数据为:112135245516275818011121314,则只为前10个求均值,输出结果为:29.2023.80#includeintfun(int*x,intn,float*w){intnum=n/5;注意每个数的类型,inttemp=0;inti;for(i=0;i7、/5;}returnnum;}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、所指的数组中。函数返回平均值的个数。例如:若输入n为14,14个数据为:112135245516275818011121314,则只为前10个求均值,输出结果为:29.2023.80#includeintfun(int*x,intn,float*w){intnum=n/5;注意每个数的类型,inttemp=0;inti;for(i=0;i7、/5;}returnnum;}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、/5;}returnnum;}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
此文档下载收益归作者所有