C语言作业(函数)
作业三 函数一、填空: (1) 以下程序运行后的输出结果是 。void fun(int x,int y){ x=x+y;y=x-y;x=x-y;printf(“%d,%d,”,x,y);}void main(){ int x=2,y=3;fun(x,y);printf(“%d,%d\n”,x,y);} (2) 若有以下程序执行后输出结果是 。int f(int x,int y){ return(y-x)*x; }void main(){ int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5)); printf("%d\n",d);}(3)下面是一个计算阶乘(n!)的程序,补充程序使其完整。 #include “stdio.h” double factorial(int);main( ){ int n; printf("Enter an integer:"); scanf("%d",&n); printf("阶乘为%f\n",____①_____);}double factorial(int i){ double result=1.0; int j; for(j=1;j<=i;j++) result*=j; ____②_____;}二、选择: (1) 有如下程序的输出结果是 long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2)); else return(2); }void main() { printf(“%d\n”,fib(3));} A) 2 B) 4 C) 6 D) 8 (2) 以下所列的各函数首部中,正确的是 A) void play(var :Integer,var b: Integer) B) void play(int a,b) C) void play(int a,int b) D) Sub play(a as integer,b as integer)(3) 以下程序的输出结果是 void fun(int x, int y, int z) { z=x*x+y*y; } void main() { int a=31; fun(5,2,a); printf(“%d”,a); } A) 0 B) 29 C) 31 D) 无定值(4) 有以下程序void f(int x,int y){ int t; if(x