欢迎来到天天文库
浏览记录
ID:50885102
大小:43.77 KB
页数:24页
时间:2020-03-15
《海大c程上机题附答案及附加题.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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、mber:");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(intk,int*p){inti,j,t=0;doubleb;for(i=2;i<=k;i++)3、先判断是不是质数,在判断是不是因子。{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]!=-1;i++)printf("%d",a[i]);printf("");}3.编写函数voidfun(int*x,intn),功能是4、:求出长度为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;jx[k]){k=j;}t=x[k];x[k]=x[i];x[i]=t;}}voidmain(){inta[N],i;for(i=0;i<5、N;i++)scanf("%d",a+i);fun(a,N);for(i=0;iintfun(6、int*x,intn,float*w){intnum=n/5;注意每个数的类型,inttemp=0;inti;for(i=0;i7、;for(i=0;iintfun(intx,longinty){inti;longsum=0,k=1;for(i=0;sum8、(){intx;longy;scanf("%d%ld
2、mber:");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(intk,int*p){inti,j,t=0;doubleb;for(i=2;i<=k;i++)
3、先判断是不是质数,在判断是不是因子。{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]!=-1;i++)printf("%d",a[i]);printf("");}3.编写函数voidfun(int*x,intn),功能是
4、:求出长度为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;jx[k]){k=j;}t=x[k];x[k]=x[i];x[i]=t;}}voidmain(){inta[N],i;for(i=0;i<
5、N;i++)scanf("%d",a+i);fun(a,N);for(i=0;iintfun(
6、int*x,intn,float*w){intnum=n/5;注意每个数的类型,inttemp=0;inti;for(i=0;i7、;for(i=0;iintfun(intx,longinty){inti;longsum=0,k=1;for(i=0;sum8、(){intx;longy;scanf("%d%ld
7、;for(i=0;iintfun(intx,longinty){inti;longsum=0,k=1;for(i=0;sum8、(){intx;longy;scanf("%d%ld
8、(){intx;longy;scanf("%d%ld
此文档下载收益归作者所有