海大c程上机题附答案及附加题.pdfVIP

  • 1
  • 0
  • 约2.1万字
  • 约 24页
  • 2021-09-28 发布于上海
  • 举报
1. 编写函数 long fun(long x),它的功能是:将长整型参数 x 中每一位上为偶数的数依次取出, 构成一个新数返回。高位仍在高位,低位仍在低位。例如:下面程序运行时输 入:124578902,程序输出:24802. #includestdio.h long fun(long x) { long i,m,sum=0; int j=0,n; for(i=x;i0;) { m=i%10; i=i/10; if(m%2==0) { j++; for(n=1;nj;n++) m=m*10; sum+=m; } } return sum; } void main() { long a,b; printf(Enter a number:); scanf(%ld,a); b=fun(a); printf(b=%ld\n,b); } 2. 编写函数 void fun(int k,int *p) ,功能是:将参数 k (2≤k≤32767 )所有的不相同质因子升 序写入 p 所指的一维数组中,以-1 作为所有质因子的结束标志。例如:下面程序运行时若 输入 200,输出:2 5;若输入 27720,输出:2 3 5 7 11;若输入 101,输出 101。 #includestdio.h #includemath.h void fun(int k,int *p) { int i,j,t=0; double b; for(i=2;i=k;i++) 先判断是不是质数,在判断是不是因子。 { b=sqrt(i); for(j=2;j=b;j++) if(i%j==0)break; if(jbk%i==0) { p[t]=i; t++; } p[t]=-1; } } void main() { int x,a[17]={0},i; do{ printf(Enter a number(2-32767):); scanf(%d,x); }while(x2); fun(x,a); for(i=0;a[i]!=-1;i++) printf(%d ,a[i]); printf(\n); } 3. 编写函数 void fun(int *x,int n) ,功能是:求出长度为 n 的数组 x 中的最大数与次最大数, 并把最大数和 a[0]对调,次最大数与 a[1]对调,其余的数保持不变。下面程序运行时若输入:2 4 6 1 3 9 7 0 5 8,则输出:9 8 6 1 3 2 7 0 5 4 。 #includestdio.h #define N 10 void fun(int *x,int n) { int i,j,k,t; for(i=0;i2;i++) { k=i; for(j=i+1;jn;j++) 采用打擂台法,找到最大数的下标。 if(x[j]x[k]) { k=j; } t=x[k]; x[k]=x[i]; x[i]=t; } } void main() { int a[N],i; for(i=0;iN;i++) scanf(%d,a+i);

文档评论(0)

1亿VIP精品文档

相关文档