1、作业三 函数一、填空: (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,%dn”,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(“%dn“,d);(3)下面是一个计算阶乘(n!)的程序,补充程序使其完整。#inclu
2、de “stdio.h”double factorial(int);main( ) int n;printf(“Enter an integer:“);scanf(“%d“,printf(“阶乘为%fn“,_ _);double factorial(int i) double result=1.0;int j;for(j=1;j2)return(fib(n-1)+fib(n-2);else return(2);void main() printf(“%dn”,fib(3);A) 2 B) 4 C) 6 D) 8(2) 以下所列的各函数首部中,正确的是A) void play(var :Inte
3、ger,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(xy) t=x; x=y; y=t; void main() i
4、nt a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf(“%d,%d,%dn“,a,b,c);执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5(5) 以下函数值的类型是fun ( float x ) float y;y= 3*x-4;return y;A) int B) 不确定 C) void D) float(6) 以下程序的输出结果是int a, b;void fun() a=100; b=200; void main( ) int a=5, b=7;fun();printf(“%d%d n”, a,b);A) 100200 B) 57 C) 200100 D) 75(7)有以下程序int f(int n)if(n=1) return 1;else return f(n-1)+1;void main()int i,j=0;for(i=1;i3;i+) j+=f(i);printf(“%dn”,j);程序运行后的输出结果是A)4 B)3 C)2 D)1三、编程:1定义一个函数将正整数 n 转换成文字形式输出星期几(n 值 06 分别转换成星期天,星期一,星期六) 。2输入一个 x,输出下面分段函数 f(x)的值。要求将分段函数的计算定义成函数。01)(xf